mirror of https://github.com/PCSX2/pcsx2.git
GSdx: Switch tooltips to unicode
This commit is contained in:
parent
b7bb3daa9d
commit
047e63ee5f
|
@ -25,30 +25,38 @@
|
|||
#include "resource.h"
|
||||
#endif
|
||||
|
||||
const char* dialog_message(int ID, bool* updateText) {
|
||||
#ifdef _WIN32
|
||||
#define cvtString(s) L##s
|
||||
const wchar_t* dialog_message(int ID, bool* updateText)
|
||||
{
|
||||
#else
|
||||
#define cvtString(s) s
|
||||
const char* dialog_message(int ID, bool* updateText)
|
||||
{
|
||||
#endif
|
||||
if (updateText)
|
||||
*updateText = true;
|
||||
switch (ID)
|
||||
{
|
||||
case IDC_FILTER:
|
||||
return "Control the texture filtering of the emulation.\n\n"
|
||||
return cvtString("Control the texture filtering of the emulation.\n\n"
|
||||
"Nearest:\nAlways disable interpolation, rendering will be blocky.\n\n"
|
||||
"Bilinear Forced (excluding sprite):\nAlways enable interpolation except for sprites (FMV/Text/2D elements)."
|
||||
" Rendering is smoother but it could generate a few glitches. If upscaling is enabled, this setting is recommended over 'Bilinear Forced'\n\n"
|
||||
"Bilinear Forced:\nAlways enable interpolation. Rendering is smoother but it could generate some glitches.\n\n"
|
||||
"Bilinear PS2:\nUse same mode as the PS2. It is the more accurate option.";
|
||||
"Bilinear PS2:\nUse same mode as the PS2. It is the more accurate option.");
|
||||
case IDC_HALF_SCREEN_TS:
|
||||
return "Control the half-screen fix detection on texture shuffling.\n\n"
|
||||
return cvtString("Control the half-screen fix detection on texture shuffling.\n\n"
|
||||
"Automatic:\nUses an algorithm to automatically enable or disable the detection.\n\n"
|
||||
"Force-Disabled:\nDisables the detection. Will cause visual bugs in many games. It helps Xenosaga games.\n\n"
|
||||
"Force-Enabled:\nAlways enables the detection. Use it when a game has half-screen issues.";
|
||||
"Force-Enabled:\nAlways enables the detection. Use it when a game has half-screen issues.");
|
||||
case IDC_TRI_FILTER:
|
||||
return "Control the texture tri-filtering of the emulation.\n\n"
|
||||
return cvtString("Control the texture tri-filtering of the emulation.\n\n"
|
||||
"None:\nNo extra trilinear filtering.\n\n"
|
||||
"Trilinear:\nUse OpenGL trilinear interpolation when PS2 uses mipmaps.\n\n"
|
||||
"Trilinear Forced:\nAlways enable full trilinear interpolation. Warning Slow!\n\n";
|
||||
"Trilinear Forced:\nAlways enable full trilinear interpolation. Warning Slow!\n\n");
|
||||
case IDC_CRC_LEVEL:
|
||||
return "Control the number of Auto-CRC fixes and hacks applied to games.\n\n"
|
||||
return cvtString("Control the number of Auto-CRC fixes and hacks applied to games.\n\n"
|
||||
"Automatic:\nAutomatically sets the recommended CRC level based on the selected renderer.\n"
|
||||
"This is the recommended setting.\n"
|
||||
"Partial will be selected for OpenGL.\nFull will be selected for Direct3D 11.\n\n"
|
||||
|
@ -58,49 +66,49 @@ const char* dialog_message(int ID, bool* updateText) {
|
|||
"Full:\nFor an optimal experience with Direct3D 11.\n\n"
|
||||
"Aggressive:\nUse more aggressive CRC hacks.\n"
|
||||
"Removes effects in some games which make the image appear sharper/clearer.\n"
|
||||
"Affected games: AC4, BleachBB, Bully, DBZBT 2 & 3, DeathByDegrees, Evangelion, FF games, FightingBeautyWulong, GOW 1 & 2, Kunoichi, IkkiTousen, Okami, Oneechanbara2, OnimushaDoD, RDRevolver, Simple2000Vol114, SoTC, SteambotChronicles, Tekken5, Ultraman, XenosagaE3, Yakuza 1 & 2.\n";
|
||||
"Affected games: AC4, BleachBB, Bully, DBZBT 2 & 3, DeathByDegrees, Evangelion, FF games, FightingBeautyWulong, GOW 1 & 2, Kunoichi, IkkiTousen, Okami, Oneechanbara2, OnimushaDoD, RDRevolver, Simple2000Vol114, SoTC, SteambotChronicles, Tekken5, Ultraman, XenosagaE3, Yakuza 1 & 2.\n");
|
||||
case IDC_SKIPDRAWHACK:
|
||||
case IDC_SKIPDRAWHACKEDIT:
|
||||
case IDC_SKIPDRAWOFFSET:
|
||||
case IDC_SKIPDRAWOFFSETEDIT:
|
||||
return "Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right.\n\n"
|
||||
return cvtString("Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right.\n\n"
|
||||
"Use it, for example, to try and get rid of bad post processing effects.\n"
|
||||
"Step 1: Increase the value in the left box and keep the value in the right box set to the same value as the left box to find and remove a bad effect.\n"
|
||||
"Step 2: If a bad effect found with Step 1 is not completely removed yet, then without changing the value in the left box, try increasing the value in the box to right until the effect is completely gone.\n\n"
|
||||
"Note: Increase the value in the right box and keep the value in the left box set to \"1\" to reproduce the old skipdraw behaviour.";
|
||||
"Note: Increase the value in the right box and keep the value in the left box set to \"1\" to reproduce the old skipdraw behaviour.");
|
||||
case IDC_OFFSETHACK:
|
||||
return "Might fix some misaligned fog, bloom, or blend effect.\n"
|
||||
return cvtString("Might fix some misaligned fog, bloom, or blend effect.\n"
|
||||
"The preferred option is Normal (Vertex) as it is most likely to resolve misalignment issues.\n"
|
||||
"The special cases are only useful in a couple of games like Captain Tsubasa.";
|
||||
"The special cases are only useful in a couple of games like Captain Tsubasa.");
|
||||
case IDC_WILDHACK:
|
||||
return "Lowers the GS precision to avoid gaps between pixels when upscaling.\n"
|
||||
"Fixes the text on Wild Arms games.";
|
||||
return cvtString("Lowers the GS precision to avoid gaps between pixels when upscaling.\n"
|
||||
"Fixes the text on Wild Arms games.");
|
||||
case IDC_ALIGN_SPRITE:
|
||||
return "Fixes issues with upscaling(vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc.";
|
||||
return cvtString("Fixes issues with upscaling(vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc.");
|
||||
case IDC_ROUND_SPRITE:
|
||||
return "Corrects the sampling of 2D sprite textures when upscaling.\n\n"
|
||||
return cvtString("Corrects the sampling of 2D sprite textures when upscaling.\n\n"
|
||||
"Fixes lines in sprites of games like Ar tonelico when upscaling.\n\n"
|
||||
"Half option is for flat sprites, Full is for all sprites.";
|
||||
"Half option is for flat sprites, Full is for all sprites.");
|
||||
case IDC_TCOFFSETX:
|
||||
case IDC_TCOFFSETX2:
|
||||
case IDC_TCOFFSETY:
|
||||
case IDC_TCOFFSETY2:
|
||||
return "Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too.\n\n"
|
||||
" 0500 0500, fixes Persona 3 minimap, helps Haunting Ground.";
|
||||
return cvtString("Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too.\n\n"
|
||||
" 0500 0500, fixes Persona 3 minimap, helps Haunting Ground.");
|
||||
case IDC_OSD_LOG:
|
||||
return "Prints log messages from the Function keys onscreen.";
|
||||
return cvtString("Prints log messages from the Function keys onscreen.");
|
||||
case IDC_OSD_MONITOR:
|
||||
return "Continuously prints/overlays the FPS counter and the EE ('CPU-usage') ,\nGS ('GPU-usage') and VU(if the MTVU speedhack is enabled) percentages onscreen.";
|
||||
return cvtString("Continuously prints/overlays the FPS counter and the EE ('CPU-usage') ,\nGS ('GPU-usage') and VU(if the MTVU speedhack is enabled) percentages onscreen.");
|
||||
case IDC_PALTEX:
|
||||
return "Enabled: GPU converts colormap-textures.\n"
|
||||
return cvtString("Enabled: GPU converts colormap-textures.\n"
|
||||
"Disabled: CPU converts colormap-textures.\n\n"
|
||||
"It is a trade-off between GPU and CPU.";
|
||||
"It is a trade-off between GPU and CPU.");
|
||||
case IDC_ACCURATE_DATE:
|
||||
return "Implement a more accurate algorithm to compute GS destination alpha testing.\n"
|
||||
return cvtString("Implement a more accurate algorithm to compute GS destination alpha testing.\n"
|
||||
"It improves shadow and transparency rendering.\n\n"
|
||||
"Note: Direct3D 11 is less accurate.";
|
||||
"Note: Direct3D 11 is less accurate.");
|
||||
case IDC_ACCURATE_BLEND_UNIT:
|
||||
return "Control the accuracy level of the GS blending unit emulation.\n\n"
|
||||
return cvtString("Control the accuracy level of the GS blending unit emulation.\n\n"
|
||||
"None:\nFast but introduces various rendering issues.\n"
|
||||
"It is intended for slow computer.\n\n"
|
||||
"Basic:\nEmulate correctly most of the effects with a limited speed penalty.\n"
|
||||
|
@ -111,97 +119,97 @@ const char* dialog_message(int ID, bool* updateText) {
|
|||
"Full:\nExcept few cases, the blending unit will be fully emulated by the shader. It is ultra slow!\n"
|
||||
"It is intended for debug.\n\n"
|
||||
"Ultra:\nThe blending unit will be completely emulated by the shader. It is ultra slow!\n"
|
||||
"It is intended for debug.";
|
||||
"It is intended for debug.");
|
||||
case IDC_TC_DEPTH:
|
||||
return "Disable the support of Depth buffer in the texture cache.\n"
|
||||
"It can help to increase speed but it will likely create various glitches.";
|
||||
return cvtString("Disable the support of Depth buffer in the texture cache.\n"
|
||||
"It can help to increase speed but it will likely create various glitches.");
|
||||
case IDC_CPU_FB_CONVERSION:
|
||||
return "Convert 4-bit and 8-bit frame buffer on the CPU instead of the GPU.\n\n"
|
||||
return cvtString("Convert 4-bit and 8-bit frame buffer on the CPU instead of the GPU.\n\n"
|
||||
"The hack can fix glitches in some games.\n"
|
||||
"Harry Potter games and Stuntman for example.\n\n"
|
||||
"Note: This hack has an impact on performance.\n";
|
||||
"Note: This hack has an impact on performance.\n");
|
||||
case IDC_AFCOMBO:
|
||||
return "Reduces texture aliasing at extreme viewing angles.";
|
||||
return cvtString("Reduces texture aliasing at extreme viewing angles.");
|
||||
case IDC_AA1:
|
||||
return "Internal GS feature. Reduces edge aliasing of lines and triangles when the game requests it.";
|
||||
return cvtString("Internal GS feature. Reduces edge aliasing of lines and triangles when the game requests it.");
|
||||
case IDC_SWTHREADS:
|
||||
case IDC_SWTHREADS_EDIT:
|
||||
return "Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging)\n"
|
||||
return cvtString("Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging)\n"
|
||||
"If you have 4 threads on your CPU pick 2 or 3.\n"
|
||||
"You can calculate how to get the best performance (amount of CPU threads - 2)\n"
|
||||
"Note: 7+ threads will not give much more performance and could perhaps even lower it.";
|
||||
"Note: 7+ threads will not give much more performance and could perhaps even lower it.");
|
||||
case IDC_MIPMAP_SW:
|
||||
return "Enables mipmapping, which some games require to render correctly.";
|
||||
return cvtString("Enables mipmapping, which some games require to render correctly.");
|
||||
case IDC_SHADEBOOST:
|
||||
return "Allows brightness, contrast and saturation to be manually adjusted.";
|
||||
return cvtString("Allows brightness, contrast and saturation to be manually adjusted.");
|
||||
case IDC_SHADER_FX:
|
||||
return "Enables external shader for additional post-processing effects.";
|
||||
return cvtString("Enables external shader for additional post-processing effects.");
|
||||
case IDC_FXAA:
|
||||
return "Enables fast approximate anti-aliasing. Small performance impact.";
|
||||
return cvtString("Enables fast approximate anti-aliasing. Small performance impact.");
|
||||
case IDC_AUTO_FLUSH_HW:
|
||||
return "Force a primitive flush when a framebuffer is also an input texture.\n"
|
||||
return cvtString("Force a primitive flush when a framebuffer is also an input texture.\n"
|
||||
"Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA.\n"
|
||||
"Warning: It's very costly on the performance.\n\n"
|
||||
"Note: OpenGL HW renderer is able to handle Jak shadows at full speed without this option.";
|
||||
"Note: OpenGL HW renderer is able to handle Jak shadows at full speed without this option.");
|
||||
case IDC_AUTO_FLUSH_SW:
|
||||
return "Force a primitive flush when a framebuffer is also an input texture.\n"
|
||||
"Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA.";
|
||||
return cvtString("Force a primitive flush when a framebuffer is also an input texture.\n"
|
||||
"Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA.");
|
||||
case IDC_SAFE_FEATURES:
|
||||
return "This option disables multiple safe features.\n\n"
|
||||
return cvtString("This option disables multiple safe features.\n\n"
|
||||
"Disables accurate Unscale Point and Line rendering.\n"
|
||||
"It can help Xenosaga games.\n\n"
|
||||
"Disables accurate GS Memory Clearing to be done on the CPU, and let only the GPU handle it.\n"
|
||||
"It can help Kingdom Hearts games.\n\n"
|
||||
"Disables special Nvidia hack.\n"
|
||||
"It can help SOTC, Fatal Frame games and possibly others too.";
|
||||
"It can help SOTC, Fatal Frame games and possibly others too.");
|
||||
case IDC_MEMORY_WRAPPING:
|
||||
return "Emulates GS memory wrapping accurately. This fixes issues where part of the image is cut-off by block shaped sections such as the FMVs in Wallace & Gromit: The Curse of the Were-Rabbit and Thrillville.\n\n"
|
||||
"Note: This hack can have a small impact on performance.";
|
||||
return cvtString("Emulates GS memory wrapping accurately. This fixes issues where part of the image is cut-off by block shaped sections such as the FMVs in Wallace & Gromit: The Curse of the Were-Rabbit and Thrillville.\n\n"
|
||||
"Note: This hack can have a small impact on performance.");
|
||||
case IDC_MERGE_PP_SPRITE:
|
||||
return "Replaces post-processing multiple paving sprites by a single fat sprite.\n"
|
||||
return cvtString("Replaces post-processing multiple paving sprites by a single fat sprite.\n"
|
||||
"It reduces various upscaling lines.\n\n"
|
||||
"Note: This hack is a work in progress.";
|
||||
"Note: This hack is a work in progress.");
|
||||
case IDC_GEOMETRY_SHADER_OVERRIDE:
|
||||
return "Allows the GPU instead of just the CPU to transform lines into sprites. This reduces CPU load and bandwidth requirement, but it is heavier on the GPU.\n"
|
||||
return cvtString("Allows the GPU instead of just the CPU to transform lines into sprites. This reduces CPU load and bandwidth requirement, but it is heavier on the GPU.\n"
|
||||
"Automatic detection is recommended.\n\n"
|
||||
"Note: This option is only supported by GPUs which support at least Direct3D 10.";
|
||||
"Note: This option is only supported by GPUs which support at least Direct3D 10.");
|
||||
case IDC_IMAGE_LOAD_STORE:
|
||||
return "Allows advanced atomic operations to speed up DATE Accuracy.\n"
|
||||
return cvtString("Allows advanced atomic operations to speed up DATE Accuracy.\n"
|
||||
"Only disable this if using DATE Accuracy causes (GPU driver) issues.\n\n"
|
||||
"Note: This option is only supported by GPUs which support at least Direct3D 11.";
|
||||
"Note: This option is only supported by GPUs which support at least Direct3D 11.");
|
||||
case IDC_SPARSE_TEXTURE:
|
||||
return "Allows to reduce VRAM usage on the GPU.\n\n"
|
||||
"Note: Feature is currently experimental and works only on Nvidia GPUs.";
|
||||
return cvtString("Allows to reduce VRAM usage on the GPU.\n\n"
|
||||
"Note: Feature is currently experimental and works only on Nvidia GPUs.");
|
||||
case IDC_OSD_MAX_LOG_EDIT:
|
||||
case IDC_OSD_MAX_LOG:
|
||||
return "Sets the maximum number of log messages on the screen or in the buffer at the same time.\n\n"
|
||||
"The maximum number of messages visible on the screen at the same time also depends on the character size.";
|
||||
return cvtString("Sets the maximum number of log messages on the screen or in the buffer at the same time.\n\n"
|
||||
"The maximum number of messages visible on the screen at the same time also depends on the character size.");
|
||||
case IDC_LINEAR_PRESENT:
|
||||
return "Use bilinear filtering when Upscaling/Downscaling the image to the screen. Disable it if you want a sharper/pixelated output.";
|
||||
return cvtString("Use bilinear filtering when Upscaling/Downscaling the image to the screen. Disable it if you want a sharper/pixelated output.");
|
||||
// Exclusive for Hardware Renderer
|
||||
case IDC_PRELOAD_GS:
|
||||
return "Uploads GS data when rendering a new frame to reproduce some effects accurately.\n"
|
||||
"Fixes black screen issues in games like Armored Core: Last Raven.";
|
||||
return cvtString("Uploads GS data when rendering a new frame to reproduce some effects accurately.\n"
|
||||
"Fixes black screen issues in games like Armored Core: Last Raven.");
|
||||
case IDC_MIPMAP_HW:
|
||||
return "Control the accuracy level of the mipmapping emulation.\n\n"
|
||||
return cvtString("Control the accuracy level of the mipmapping emulation.\n\n"
|
||||
"Automatic:\nAutomatically sets the mipmapping level based on the game.\n"
|
||||
"This is the recommended setting.\n\n"
|
||||
"Off:\nMipmapping emulation is disabled.\n\n"
|
||||
"Basic (Fast):\nPartially emulates mipmapping, performance impact is negligible in most cases.\n\n"
|
||||
"Full (Slow):\nCompletely emulates the mipmapping function of the GS, might significantly impact performance.";
|
||||
"Full (Slow):\nCompletely emulates the mipmapping function of the GS, might significantly impact performance.");
|
||||
case IDC_FAST_TC_INV:
|
||||
return "By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise."
|
||||
"\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine games.";
|
||||
return cvtString("By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise."
|
||||
"\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine games.");
|
||||
case IDC_CONSERVATIVE_FB:
|
||||
return "Disabled: Reserves a larger framebuffer to prevent FMV flickers.\n"
|
||||
return cvtString("Disabled: Reserves a larger framebuffer to prevent FMV flickers.\n"
|
||||
"Increases GPU/memory requirements.\n"
|
||||
"Disabling this can amplify stuttering due to low RAM/VRAM.\n\n"
|
||||
"Note: It should be enabled for Armored Core, Destroy All Humans, Gran Turismo and possibly others.\n"
|
||||
"This option does not improve the graphics or the FPS.";
|
||||
"This option does not improve the graphics or the FPS.");
|
||||
// Windows only options.
|
||||
#ifdef _WIN32
|
||||
case IDC_ACCURATE_BLEND_UNIT_D3D11:
|
||||
return "Control the accuracy level of the GS blending unit emulation.\n\n"
|
||||
return L"Control the accuracy level of the GS blending unit emulation.\n\n"
|
||||
"None:\nFast but introduces various rendering issues.\n"
|
||||
"It is intended for slow computer.\n\n"
|
||||
"Basic:\nEmulate correctly some of the effects with a limited speed penalty.\n"
|
||||
|
@ -215,6 +223,7 @@ const char* dialog_message(int ID, bool* updateText) {
|
|||
default:
|
||||
if (updateText)
|
||||
*updateText = false;
|
||||
return "";
|
||||
return cvtString("");
|
||||
}
|
||||
}
|
||||
#undef cvtString
|
|
@ -38,7 +38,11 @@ struct GSSetting
|
|||
}
|
||||
};
|
||||
|
||||
#ifdef _WIN32
|
||||
const wchar_t* dialog_message(int ID, bool* updateText = NULL);
|
||||
#else
|
||||
const char* dialog_message(int ID, bool* updateText = NULL);
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
enum {
|
||||
|
|
Loading…
Reference in New Issue