2010-04-25 00:31:27 +00:00
/*
2015-05-26 13:36:47 +00:00
* Copyright ( C ) 2007 - 2015 Gabest
2009-02-09 21:15:56 +00:00
* http : //www.gabest.org
*
* This Program 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 2 , or ( at your option )
* any later version .
2010-04-25 00:31:27 +00:00
*
2009-02-09 21:15:56 +00:00
* This Program 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 .
2010-04-25 00:31:27 +00:00
*
2009-02-09 21:15:56 +00:00
* You should have received a copy of the GNU General Public License
* along with GNU Make ; see the file COPYING . If not , write to
2012-09-09 18:16:11 +00:00
* the Free Software Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 , USA USA .
2009-02-09 21:15:56 +00:00
* http : //www.gnu.org/copyleft/gpl.html
*
*/
2011-02-19 03:36:30 +00:00
# include "stdafx.h"
2009-02-09 21:15:56 +00:00
# include "GSSetting.h"
2016-05-01 09:43:18 +00:00
# ifdef _WIN32
2015-04-16 20:28:09 +00:00
# include "resource.h"
# endif
2009-02-09 21:15:56 +00:00
2015-04-16 17:20:17 +00:00
const char * dialog_message ( int ID , bool * updateText ) {
if ( updateText )
* updateText = true ;
switch ( ID )
{
2015-07-19 21:27:45 +00:00
case IDC_FILTER :
2016-10-02 11:26:54 +00:00
return " Control the texture filtering of the emulation. \n \n "
2015-08-11 22:48:49 +00:00
" Nearest: \n Always disable interpolation, rendering will be blocky. \n \n "
2017-02-24 16:55:39 +00:00
" Bilinear Forced (excluding sprite): \n Always 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 "
2016-10-02 11:26:54 +00:00
" Bilinear Forced: \n Always enable interpolation. Rendering is smoother but it could generate some glitches. \n \n "
2018-12-31 17:03:15 +00:00
" Bilinear PS2: \n Use same mode as the PS2. It is the more accurate option. " ;
2020-01-16 23:52:17 +00:00
case IDC_HALF_SCREEN_TS :
return " Control the half-screen fix detection on texture shuffling. \n \n "
" Automatic: \n Uses an algorithm to automatically enable or disable the detection. \n \n "
" Force-Disabled: \n Disables the detection. Will cause visual bugs in many games. It helps Xenosaga games. \n \n "
" Force-Enabled: \n Always enables the detection. Use it when a game has half-screen issues. " ;
2017-02-24 16:55:39 +00:00
case IDC_TRI_FILTER :
return " Control the texture tri-filtering of the emulation. \n \n "
" None: \n No extra trilinear filtering. \n \n "
2016-10-02 11:26:54 +00:00
" Trilinear: \n Use OpenGL trilinear interpolation when PS2 uses mipmaps. \n \n "
2017-02-24 16:55:39 +00:00
" Trilinear Forced: \n Always enable full trilinear interpolation. Warning Slow! \n \n " ;
2015-06-04 16:52:58 +00:00
case IDC_CRC_LEVEL :
2019-08-26 00:40:29 +00:00
return " Control the number of Auto-CRC fixes and hacks applied to games. \n \n "
" Automatic: \n Automatically sets the recommended CRC level based on the selected renderer. \n "
2016-12-05 21:55:53 +00:00
" This is the recommended setting. \n "
2020-11-04 07:36:14 +00:00
" Partial will be selected for OpenGL. \n Full will be selected for Direct3D 11. \n \n "
2019-08-26 00:40:29 +00:00
" None: \n Remove all CRC rendering fixes and hacks. \n \n "
" Minimum: \n Enables CRC lookup for special post processing effects. \n \n "
2018-12-31 17:03:15 +00:00
" Partial: \n For an optimal experience with OpenGL. \n \n "
2020-11-04 07:36:14 +00:00
" Full: \n For an optimal experience with Direct3D 11. \n \n "
2018-12-31 17:03:15 +00:00
" Aggressive: \n Use more aggressive CRC hacks. \n "
" Removes effects in some games which make the image appear sharper/clearer. \n "
2020-07-18 22:14:37 +00:00
" 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 " ;
2015-04-16 17:20:17 +00:00
case IDC_SKIPDRAWHACK :
case IDC_SKIPDRAWHACKEDIT :
2018-08-02 19:55:14 +00:00
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 "
" 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 "
2018-10-03 13:27:42 +00:00
" 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 "
2018-08-02 19:55:14 +00:00
" 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. " ;
2015-04-16 17:20:17 +00:00
case IDC_OFFSETHACK :
2017-02-25 14:35:32 +00:00
return " 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. " ;
2015-04-16 17:20:17 +00:00
case IDC_WILDHACK :
2018-10-03 13:27:42 +00:00
return " Lowers the GS precision to avoid gaps between pixels when upscaling. \n "
" Fixes the text on Wild Arms games. " ;
2015-04-16 17:20:17 +00:00
case IDC_ALIGN_SPRITE :
2015-08-11 22:48:49 +00:00
return " Fixes issues with upscaling(vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc. " ;
2015-05-02 06:24:41 +00:00
case IDC_ROUND_SPRITE :
2015-04-16 17:20:17 +00:00
return " Corrects the sampling of 2D sprite textures when upscaling. \n \n "
2015-05-02 06:24:41 +00:00
" Fixes lines in sprites of games like Ar tonelico when upscaling. \n \n "
2015-08-11 22:48:49 +00:00
" Half option is for flat sprites, Full is for all sprites. " ;
2015-04-16 17:20:17 +00:00
case IDC_TCOFFSETX :
case IDC_TCOFFSETX2 :
case IDC_TCOFFSETY :
case IDC_TCOFFSETY2 :
2015-08-11 22:48:49 +00:00
return " Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too. \n \n "
2018-10-01 20:42:17 +00:00
" 0500 0500, fixes Persona 3 minimap, helps Haunting Ground. " ;
2017-01-06 15:40:31 +00:00
case IDC_OSD_LOG :
return " Prints log messages from the Function keys onscreen. " ;
case IDC_OSD_MONITOR :
2021-01-05 18:29:10 +00:00
return " Continuously prints/overlays the FPS counter and the EE ('CPU-usage') , \n GS ('GPU-usage') and VU(if the MTVU speedhack is enabled) percentages onscreen. " ;
2015-05-11 12:12:41 +00:00
case IDC_PALTEX :
2021-01-05 18:29:10 +00:00
return " Enabled: GPU converts colormap-textures. \n "
" Disabled: CPU converts colormap-textures. \n \n "
" It is a trade-off between GPU and CPU. " ;
2015-05-11 12:12:41 +00:00
case IDC_ACCURATE_DATE :
2019-01-22 21:14:28 +00:00
return " Implement a more accurate algorithm to compute GS destination alpha testing. \n "
" It improves shadow and transparency rendering. \n \n "
2020-11-04 07:36:14 +00:00
" Note: Direct3D 11 is less accurate. " ;
2015-07-19 07:34:06 +00:00
case IDC_ACCURATE_BLEND_UNIT :
2016-04-10 11:22:55 +00:00
return " Control the accuracy level of the GS blending unit emulation. \n \n "
2018-11-27 08:31:24 +00:00
" None: \n Fast but introduces various rendering issues. \n "
" It is intended for slow computer. \n \n "
" Basic: \n Emulate correctly most of the effects with a limited speed penalty. \n "
" This is the recommended setting. \n \n "
2015-08-11 22:48:49 +00:00
" Medium: \n Extend it to all sprites. Performance impact remains reasonable in 3D game. \n \n "
2018-11-27 08:31:24 +00:00
" High: \n Extend it to destination alpha blending and color wrapping (helps shadow and fog effects). \n "
2019-08-26 00:40:29 +00:00
" A good GPU is required. \n \n "
2018-11-27 08:31:24 +00:00
" Full: \n Except 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: \n The blending unit will be completely emulated by the shader. It is ultra slow! \n "
2019-04-22 21:23:32 +00:00
" It is intended for debug. " ;
2015-06-26 20:07:51 +00:00
case IDC_TC_DEPTH :
2016-04-10 11:22:55 +00:00
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. " ;
2017-10-04 21:50:36 +00:00
case IDC_CPU_FB_CONVERSION :
return " 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 "
2018-11-25 12:35:00 +00:00
" Harry Potter games and Stuntman for example. \n \n "
2017-10-04 21:50:36 +00:00
" Note: This hack has an impact on performance. \n " ;
gsdx: Add new tooltips and descriptions.
For Linux and Windows, add tooltip descriptions for AF, AA1, extra
rendering threads, Enable Shade Boost, FX Shader/External Shader, FXAA.
For Windows, also add Alpha Correction and Logarithmic Z tooltips.
For Linux, add software mipmap tooltip.
Thanks to tsunami2311, ssakash, gregory38 and whoever did the wiki for
helping with descriptions.
2015-08-26 22:22:36 +00:00
case IDC_AFCOMBO :
2019-08-26 00:40:29 +00:00
return " Reduces texture aliasing at extreme viewing angles. " ;
gsdx: Add new tooltips and descriptions.
For Linux and Windows, add tooltip descriptions for AF, AA1, extra
rendering threads, Enable Shade Boost, FX Shader/External Shader, FXAA.
For Windows, also add Alpha Correction and Logarithmic Z tooltips.
For Linux, add software mipmap tooltip.
Thanks to tsunami2311, ssakash, gregory38 and whoever did the wiki for
helping with descriptions.
2015-08-26 22:22:36 +00:00
case IDC_AA1 :
return " Internal GS feature. Reduces edge aliasing of lines and triangles when the game requests it. " ;
case IDC_SWTHREADS :
case IDC_SWTHREADS_EDIT :
2020-07-30 19:43:48 +00:00
return " 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. " ;
2016-11-05 16:49:17 +00:00
case IDC_MIPMAP_SW :
return " Enables mipmapping, which some games require to render correctly. " ;
gsdx: Add new tooltips and descriptions.
For Linux and Windows, add tooltip descriptions for AF, AA1, extra
rendering threads, Enable Shade Boost, FX Shader/External Shader, FXAA.
For Windows, also add Alpha Correction and Logarithmic Z tooltips.
For Linux, add software mipmap tooltip.
Thanks to tsunami2311, ssakash, gregory38 and whoever did the wiki for
helping with descriptions.
2015-08-26 22:22:36 +00:00
case IDC_SHADEBOOST :
return " Allows brightness, contrast and saturation to be manually adjusted. " ;
case IDC_SHADER_FX :
return " Enables external shader for additional post-processing effects. " ;
case IDC_FXAA :
return " Enables fast approximate anti-aliasing. Small performance impact. " ;
2019-04-30 23:28:28 +00:00
case IDC_AUTO_FLUSH_HW :
2018-10-03 13:27:42 +00:00
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. \n "
2019-04-30 23:28:28 +00:00
" Warning: It's very costly on the performance. \n \n "
2016-09-15 10:48:12 +00:00
" Note: OpenGL HW renderer is able to handle Jak shadows at full speed without this option. " ;
2019-04-30 23:28:28 +00:00
case IDC_AUTO_FLUSH_SW :
return " Force a primitive flush when a framebuffer is also an input texture. \n "
2019-08-26 00:40:29 +00:00
" Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. " ;
2018-12-31 00:20:16 +00:00
case IDC_SAFE_FEATURES :
return " This option disables multiple safe features. \n \n "
2019-04-20 02:52:28 +00:00
" Disables accurate Unscale Point and Line rendering. \n "
2018-12-31 00:20:16 +00:00
" It can help Xenosaga games. \n \n "
2019-04-20 02:52:28 +00:00
" Disables accurate GS Memory Clearing to be done on the CPU, and let only the GPU handle it. \n "
2019-06-18 20:06:35 +00:00
" It can help Kingdom Hearts games. \n \n "
" Disables special Nvidia hack. \n "
" It can help SOTC, Fatal Frame games and possibly others too. " ;
2017-02-04 13:50:36 +00:00
case IDC_MEMORY_WRAPPING :
2018-10-03 13:27:42 +00:00
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 "
2017-02-04 13:50:36 +00:00
" Note: This hack can have a small impact on performance. " ;
2017-03-18 13:19:48 +00:00
case IDC_MERGE_PP_SPRITE :
2018-10-03 13:27:42 +00:00
return " Replaces post-processing multiple paving sprites by a single fat sprite. \n "
2020-07-30 19:43:48 +00:00
" It reduces various upscaling lines. \n \n "
2017-03-18 13:19:48 +00:00
" Note: This hack is a work in progress. " ;
2017-02-23 21:51:10 +00:00
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 "
2018-10-03 13:27:42 +00:00
" Automatic detection is recommended. \n \n "
" Note: This option is only supported by GPUs which support at least Direct3D 10. " ;
2017-02-23 21:51:10 +00:00
case IDC_IMAGE_LOAD_STORE :
2020-01-29 22:53:54 +00:00
return " Allows advanced atomic operations to speed up DATE Accuracy. \n "
" Only disable this if using DATE Accuracy causes (GPU driver) issues. \n \n "
2017-02-23 21:51:10 +00:00
" Note: This option is only supported by GPUs which support at least Direct3D 11. " ;
2019-02-07 16:10:46 +00:00
case IDC_SPARSE_TEXTURE :
2019-08-26 00:40:29 +00:00
return " Allows to reduce VRAM usage on the GPU. \n \n "
" Note: Feature is currently experimental and works only on Nvidia GPUs. " ;
2017-01-06 15:40:31 +00:00
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. " ;
2016-08-27 17:23:12 +00:00
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. " ;
2015-10-21 14:49:32 +00:00
// Exclusive for Hardware Renderer
case IDC_PRELOAD_GS :
2018-10-03 13:27:42 +00:00
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. " ;
2016-11-05 16:49:17 +00:00
case IDC_MIPMAP_HW :
2018-12-31 00:20:16 +00:00
return " Control the accuracy level of the mipmapping emulation. \n \n "
2017-10-14 11:00:26 +00:00
" Automatic: \n Automatically sets the mipmapping level based on the game. \n "
" This is the recommended setting. \n \n "
2016-11-05 16:49:17 +00:00
" Off: \n Mipmapping emulation is disabled. \n \n "
2017-01-13 23:29:41 +00:00
" Basic (Fast): \n Partially emulates mipmapping, performance impact is negligible in most cases. \n \n "
2016-11-05 16:49:17 +00:00
" Full (Slow): \n Completely emulates the mipmapping function of the GS, might significantly impact performance. " ;
2016-03-20 12:58:55 +00:00
case IDC_FAST_TC_INV :
return " By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. "
2021-01-05 18:29:10 +00:00
" \n \n This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. \n \n It helps snowblind engine games. " ;
case IDC_CONSERVATIVE_FB :
return " 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. " ;
// Windows only options.
2019-04-22 21:23:32 +00:00
# ifdef _WIN32
case IDC_ACCURATE_BLEND_UNIT_D3D11 :
return " Control the accuracy level of the GS blending unit emulation. \n \n "
" None: \n Fast but introduces various rendering issues. \n "
" It is intended for slow computer. \n \n "
" Basic: \n Emulate correctly some of the effects with a limited speed penalty. \n "
" This is the recommended setting. \n \n "
2019-07-08 01:15:19 +00:00
" Medium: \n Extend it to color shuffling. Performance impact remains reasonable. \n "
2019-04-22 21:23:32 +00:00
" It is intended for debug. \n \n "
" High: \n Extend it to triangle based primitives. It is ultra slow! \n "
" It is intended for debug. \n \n "
2020-11-04 07:36:14 +00:00
" Note: Direct3D 11 and OpenGL blending options aren't the same, even High blending on Direct3D 11 is like 1/3 of Basic blending on OpenGL. " ;
2019-04-22 21:23:32 +00:00
# endif
2015-04-16 17:20:17 +00:00
default :
if ( updateText )
* updateText = false ;
return " " ;
}
}