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 "
2017-02-24 16:55:39 +00:00
" Bilinear PS2: \n Use same mode as the PS2. It is the more accurate option. \n \n " ;
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 :
2015-06-17 21:05:26 +00:00
return " Control the number of Auto-CRC hacks applied to games. \n \n "
2016-12-05 21:55:53 +00:00
" Automatic: \n Automatically sets the recommended CRC hack level based on the selected renderer. \n "
" This is the recommended setting. \n "
" Partial will be selected for OpenGL. \n Full will be selected for Direct3D. \n \n "
2015-08-11 22:48:49 +00:00
" None: \n Remove nearly all CRC hacks (debug only). \n \n "
" Minimum: \n Enable a couple of CRC hacks (23). \n \n "
2016-12-05 21:55:53 +00:00
" Partial: \n Enable most of the CRC hacks. \n "
" For an optimal experience with OpenGL, Blending Unit Accuracy/Depth Emulation may need to be enabled. \n \n "
" Full: \n Enable all CRC hacks. \n \n "
2015-08-11 22:48:49 +00:00
" Aggressive: \n Use more aggressive CRC hacks. Only affects a few games, removing some effects which might make the image sharper/clearer. \n "
2018-11-02 13:54:24 +00:00
" Affected games: AC4, DBZBT3, FFX, FFX2, FFXII, GOW2, LegoBatman, OnimushaDoD, RE4, SoTC, SMT3, SMTDDS1, SMTDDS2, Tekken5. \n "
2018-08-07 09:37:23 +00:00
" Works as a speedhack for: BleachBB, Kunoichi, Steambot Chronicles, The Simpsons Game. " ;
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_ALPHAHACK :
2015-08-11 22:48:49 +00:00
return " Different alpha handling. Can work around some shadow problems. " ;
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_SPRITEHACK :
2015-08-11 22:48:49 +00:00
return " Helps getting rid of black inner lines in some filtered sprites. "
" Half option is the preferred one. Use it for Mana Khemia or Ar tonelico for example. "
2015-04-16 17:20:17 +00:00
" Full can be used for Tales of Destiny. " ;
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_MSAACB :
2018-10-03 13:27:42 +00:00
return " Enables hardware Anti-Aliasing. Needs lots of memory. \n "
2015-06-30 21:08:31 +00:00
" The Z-24 modes might need to have LogarithmicZ to compensate for the bits lost (only in DX9 mode). \n \n "
2015-08-11 22:48:49 +00:00
" MSAA is not implemented on the OpenGL renderer. " ;
2015-04-16 17:20:17 +00:00
case IDC_ALPHASTENCIL :
return " Extend stencil based emulation of destination alpha to perform stencil operations while drawing. \n \n "
" Improves many shadows which are normally overdrawn in parts, may affect other effects. \n "
2015-08-11 22:48:49 +00:00
" Will disable partial transparency in some games or even prevent drawing some elements altogether. " ;
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 :
return " Continuously prints the FPS and the EE, GS and VU(if the MTVU speedhack is enabled) percentages onscreen. " ;
2015-05-11 12:12:41 +00:00
case IDC_PALTEX :
2015-07-19 15:29:25 +00:00
return " When checked 4/8 bits texture will be send to the GPU with a palette. GPU will be in charge of the conversion. \n \n "
2015-08-11 22:48:49 +00:00
" When unchecked the CPU will convert directly the texture to 32 bits. \n \n "
" It is basically a trade-off between GPU/CPU. " ;
2015-05-11 12:12:41 +00:00
case IDC_ACCURATE_DATE :
return " Implement a more accurate algorithm to compute GS destination alpha testing. \n \n "
2018-11-27 08:31:24 +00:00
" None: \n Disables accurate destination alpha testing. \n \n "
" Fast: \n Fast accurate destination alpha testing. \n "
" Most of the time this option should be enough. \n "
" This is the recommended setting. \n \n "
" Full: \n Slower but fully emulates destination alpha testing. \n "
2018-11-28 19:33:15 +00:00
" Not needed unless Fast mode isn't enough. \n \n "
" Note: Full mode is not available on Direct3D. " ;
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 "
" A good CPU is required. \n \n "
" 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 "
" 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 :
return " Reduces texture aliasing at extreme viewing angles. High performance impact. " ;
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 :
2015-12-23 14:17:56 +00:00
return " Number of rendering threads: 0 for single thread, 2 or more for multithread (1 is for debugging) " ;
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. " ;
2016-09-15 10:48:12 +00:00
case IDC_AUTO_FLUSH :
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 "
2016-09-15 10:48:12 +00:00
" 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. " ;
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 "
" 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 :
2018-10-03 13:27:42 +00:00
return " Allows advanced atomic operations to speed up Accurate Date. \n "
" Only disable this if using Accurate Date 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. " ;
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
# ifdef _WIN32
// DX9 only
case IDC_FBA :
2018-10-03 13:27:42 +00:00
return " Makes textures partially or fully transparent as required by emulation. \n "
" May cause unusual slowdowns or graphical glitches for some games. " ;
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_LOGZ :
2018-10-03 13:27:42 +00:00
return " Treat depth as logarithmic instead of linear. \n "
" Recommended setting is on unless it causes graphical glitches. " ;
2017-01-10 20:47:33 +00:00
# endif
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 :
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. "
2017-01-13 23:29:41 +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. " ;
2016-05-23 17:38:23 +00:00
case IDC_LARGE_FB :
2016-05-25 16:33:32 +00:00
return " Allocate a large framebuffer to be compliant with GS memory (Prevents FMV flickering). \n "
2018-12-08 13:48:55 +00:00
" It increases GPU/memory requirements. \n \n "
2018-12-09 16:04:29 +00:00
" Note: It should be disabled for Armored Core, Destroy All Humans, and Gran Turismo. \n "
" It will amplify RAM/VRAM spikes. Other games might be affected as well. " ;
2015-04-16 17:20:17 +00:00
default :
if ( updateText )
* updateText = false ;
return " " ;
}
}