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 " ;
# ifdef __unix__
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 " ;
# endif
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 "
2015-06-17 21:05:26 +00:00
" Affected games: FFX, FFX2, FFXII, GOW2, ICO, SoTC, SSX3, SMT3, SMTDDS1, SMTDDS2. \n "
" Works as a speedhack for: Steambot Chronicles. " ;
2015-04-16 17:20:17 +00:00
case IDC_SKIPDRAWHACK :
case IDC_SKIPDRAWHACKEDIT :
2015-08-11 22:48:49 +00:00
return " Skips drawing n surfaces completely. "
2015-04-16 17:20:17 +00:00
" Use it, for example, to try and get rid of bad post processing effects. "
" Try values between 1 and 100. " ;
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 :
2015-08-11 22:48:49 +00:00
return " Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games. " ;
2015-04-16 17:20:17 +00:00
case IDC_MSAACB :
2015-08-11 22:48:49 +00:00
return " Enables hardware Anti-Aliasing. Needs lots of memory. "
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_CHECK_DISABLE_ALL_HACKS :
return " FOR TESTING ONLY!! \n \n "
" Disable all CRC hacks - will break many games. Overrides CrcHacksExclusion at gsdx.ini \n "
" \n "
" It's possible to exclude CRC hacks also via the gsdx.ini. E.g.: \n "
" CrcHacksExclusions=all \n "
" CrcHacksExclusions=0x0F0C4A9C, 0x0EE5646B, 0x7ACF7E03 " ;
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 "
2015-04-16 17:20:17 +00:00
" 0500 0500, fixes Persona 3 minimap, helps Haunting Ground. \n "
2015-08-11 22:48:49 +00:00
" 0000 1000, fixes Xenosaga hair edges (DX10+ Issue) " ;
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 "
2016-05-15 14:29:29 +00:00
" It could be slower when the effects are used. " ;
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 "
2015-08-11 22:48:49 +00:00
" None: \n Fast but introduce various rendering issues. It is intended for slow computer. \n \n "
" Basic: \n Emulate correctly most of the effects with a limited speed penalty. It is the recommended setting. \n \n "
" Medium: \n Extend it to all sprites. Performance impact remains reasonable in 3D game. \n \n "
" High: \n Extend it to destination alpha blending and color wrapping. (help shadow and fog effect). 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! It is intended for debug. \n \n "
" Ultra: \n The blending unit will be completely emulated by the shader. It is ultra slow! 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. " ;
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 :
return " 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. \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. " ;
case IDC_UNSCALE_POINT_LINE :
2017-01-13 23:29:41 +00:00
return " Increases the width of lines at higher than native resolutions. This ensures that the lines will keep the correct proportions and prevents aliasing. "
" Avoids empty lines on the screen in games such as Ridge Racer V, and clears FMVs obscured by a grid in games like the Silent Hill series and Dirge of Cerberus. " ;
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 :
return " Makes textures partially or fully transparent as required by emulation. May cause unusual slowdowns for some games. " ;
case IDC_LOGZ :
return " Treat depth as logarithmic instead of linear. 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. " ;
2017-01-10 20:47:33 +00:00
# ifdef __unix__
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-11-12 20:00:10 +00:00
# endif
2015-10-21 14:49:32 +00:00
// Exclusive for Hardware Renderer
case IDC_PRELOAD_GS :
return " Uploads GS data when rendering a new frame to reproduce some effects accurately. 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 "
" 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 "
2016-05-23 17:38:23 +00:00
" It increases GPU/memory requirements. " ;
2015-04-16 17:20:17 +00:00
default :
if ( updateText )
* updateText = false ;
return " " ;
}
}