1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-06-30 08:24:05 +00:00

GLideNUI-wtl: Add language for frame buffer

This commit is contained in:
zilmar 2020-04-20 14:13:29 +09:30 committed by Sergey Lipskiy
parent dc5ac40007
commit e2bb100244
14 changed files with 335 additions and 18 deletions

Binary file not shown.

View File

@ -115,6 +115,44 @@ void loadDefaultStrings(void)
g_defaultStrings.insert(LANG_STRINGS::value_type(EMULATION_BACKGROUND_TOOLTIP, "Background is a complex macro command used to render large (normally full screen) images. Since background images usually don't fit texture memory, the microcode splits them on narrow strips and renders them one by one. HLE code has two modes to emulate background commands:\nOne piece: The whole background image rendred as one textured rectangle. This method is normally much faster, but the result is not always correct.\nStripped: This method emulates background commands as close as possible to actual microcode implementation. It's slower but more precise. Another problem: some games may have gaps between rendered strips in high resolution. Use "Render 2D elements in N64 resolution" option to remove the gaps.\n[Recommended: Game dependent, mostly Stripped]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(EMULATION_ONE_PIECE, "One piece"));
g_defaultStrings.insert(LANG_STRINGS::value_type(EMULATION_STRIPPED, "Stripped"));
//Frame Buffer Tab
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_ENABLE, "Emulate frame buffer"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_ENABLE_INFO, "Unchecking this option disables many effects including cropping, aspect ratio, N64 resolution factor, N64-style depth compare and more. Don't uncheck this option unless you have performance issues."));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_AUX_BUFFERS, "Copy auxiliary color buffers to N64 memory (sometimes slow, fewer game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_AUX_BUFFERS_TOOLTIP, "When checked, the auxiliary color buffer is copied to N64 memory right after rendering to it is finished. This option helps to correctly emulate frame buffer effects in some games. This option may noticeably reduce performance.\n[Recommended: Usually unchecked]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_SWAP, "Frame buffer swap on:"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_SWAP_TOOLTIP, "This option controls how often GLideN64 updates the main frame buffer.\nVertical interrupt : Update the buffer as quickly as possible, every vertical interrupt per second(50 for PAL and 60 for NTSC games).This option is the most compatible.Use this mode unless you have performance problems.\nVI origin change : The VI origin changes corresponding to the game's actual FPS. N64 games typically run between 20 to 30 FPS so the buffers swap less often than the first mode. This mode does not work for games that use single buffering, which is rare.\nColor buffer change: This option checks to see if the frame buffer has been changed. There are some games where this doesn't work."));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_VERTICAL_INTERRUPT, "Vertical interrupt (recommended, fewest game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_VI_ORIGIN_CHANGE, "VI origin change (faster, few game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COLOR_BUFFER_CHANGE, "Color buffer change (fastest, some game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_INFO_ENABLE, "Use emulator help to read/write frame buffers"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_INFO_ENABLE_TOOLTIP, "Some emulators do a poor job of detecting when to read/write frame buffers. You can disable emulator help to let GLideN64 read/write frame buffers itself.\n[Recommended: Usually unchecked, but for some games/emulators it may be faster checked]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_READ_COLOR_CHUNK, "Read color buffer in 4 KB chunks"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_READ_COLOR_CHUNK_TOOLTIP, "When checked, the color buffer will be read in chunks. Otherwise, the buffer will be read in its entirety. If a game needs to read the entire buffer, selecting this option may be slow.\n[Recommended: Usually unchecked, because the color buffer is usually read entirely]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_READ_DEPTH_CHUNK, "Read depth buffer in 4 KB chunks"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_READ_DEPTH_CHUNK_TOOLTIP, "When checked, the depth buffer will be read in chunks. Otherwise the buffer will be read in its entirety. If a game needs to read the entire buffer, selecting this option may be slow.\n[Recommended: Checked, because the depth buffer is not often read entirely]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_COLOR_BUFFER, "Copy video card frame buffer to N64 memory:"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_COLOR_BUFFER_TOOLTIP, "In some games GLideN64 can't detect when the game uses the frame buffer. With these options, you can have GLideN64 copy each frame of your video card's frame buffer to N64 memory.\nNever: Disable copying buffers from video card.\nSynchronous: Effects are detected for all games, but it can be slow. Use for games where Asynchronous doesn't work.\nAsynchronous: Effects are detected for most games. [Recommended: Usually Asynchronous]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_NEVER, "Never (fastest, many game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_SYNCHRONOUS, "Synchronous (slowest, fewest game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_ASYNCHRONOUS, "Asynchronous (fast, few game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_DEPTH_BUFFER, "Copy video card depth buffer to N64 memory:"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_DEPTH_BUFFER_TOOLTIP, "The depth buffer is used to emulate some effects (e.g. coronas):\nNever: Depth buffer is disabled.\nFrom VRAM: Your video card's depth buffer is copied to N64 memory each frame, which can be slow on some games.\nIn software: Generally faster than copying from VRAM, but the result can be imperfect.\n[Recommended: In software]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_DEPTH_NEVER, "Never (fastest, most game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_DEPTH_VRAM, "From VRAM (slow, some game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_DEPTH_SOFTWARE, "In software (fast, fewest game issues)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_N64_DEPTH_COMPARE, "N64-style depth compare (experimental, disables MSAA)"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_N64_DEPTH_COMPARE_TOOLTIP, "The N64 uses a unique method of calculating depth to the camera. When enabled, GlideN64 uses shaders to try to emulate these calculations correctly. Not compatible with anti-aliasing. Experimental!\nFast mode requires OpenGL 4.2 and fragment shader interlock extensions.\nCompatible mode requires only core OpenGL 4.2 Can be slow!\n[Recommended: Sometimes checked, for several games]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_N64_DEPTH_DISABLE, "Disable"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_N64_DEPTH_FAST, "Fast"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_N64_DEPTH_COMPATIBLE, "Compatible"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_FORCE_DEPTH_BUFFER_CLEAR, "Force depth buffer clear"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_FORCE_DEPTH_BUFFER_CLEAR_TOOLTIP, "Enable force depth buffer clear. A hack. Necessary for Eikou no Saint Andrews.\n[Recommended: except for Eikou no Saint Andrews]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_RENDER_FRAMEBUFFER, "Render N64 frame buffer to output"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_RENDER_FRAMEBUFFER_TOOLTIP, "When this option is checked, the frame buffer is rendered directly to the screen. This prevents some graphic problems but may cause slowdowns or visual quality problems.\n[Recommended: Usually unchecked]"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_DEPTH_TO_MAIN, "Copy depth to main depth buffer"));
g_defaultStrings.insert(LANG_STRINGS::value_type(FRAMEBUFFER_COPY_DEPTH_TO_MAIN_TOOLTIP, "This option is required for some Reshade depth dependant effects, such as SSAO and depth of field.\n[Recommended: only if you use Reshade and need depth dependant effects]"));
}
LANG_STR GetNextLangString(FILE * file)

View File

@ -117,6 +117,46 @@ enum languageStringID
EMULATION_BACKGROUND_TOOLTIP = 3030,
EMULATION_ONE_PIECE = 3031,
EMULATION_STRIPPED = 3032,
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
FRAMEBUFFER_ENABLE = 4000,
FRAMEBUFFER_ENABLE_INFO = 4001,
FRAMEBUFFER_COPY_AUX_BUFFERS = 4002,
FRAMEBUFFER_COPY_AUX_BUFFERS_TOOLTIP = 4003,
FRAMEBUFFER_SWAP = 4004,
FRAMEBUFFER_SWAP_TOOLTIP = 4005,
FRAMEBUFFER_VERTICAL_INTERRUPT = 4006,
FRAMEBUFFER_VI_ORIGIN_CHANGE = 4007,
FRAMEBUFFER_COLOR_BUFFER_CHANGE = 4008,
FRAMEBUFFER_INFO_ENABLE = 4009,
FRAMEBUFFER_INFO_ENABLE_TOOLTIP = 4010,
FRAMEBUFFER_READ_COLOR_CHUNK = 4011,
FRAMEBUFFER_READ_COLOR_CHUNK_TOOLTIP = 4012,
FRAMEBUFFER_READ_DEPTH_CHUNK = 4013,
FRAMEBUFFER_READ_DEPTH_CHUNK_TOOLTIP = 4014,
FRAMEBUFFER_COPY_COLOR_BUFFER = 4015,
FRAMEBUFFER_COPY_COLOR_BUFFER_TOOLTIP = 4016,
FRAMEBUFFER_COPY_NEVER = 4017,
FRAMEBUFFER_COPY_SYNCHRONOUS = 4018,
FRAMEBUFFER_COPY_ASYNCHRONOUS = 4019,
FRAMEBUFFER_COPY_DEPTH_BUFFER = 4020,
FRAMEBUFFER_COPY_DEPTH_BUFFER_TOOLTIP = 4021,
FRAMEBUFFER_COPY_DEPTH_NEVER = 4022,
FRAMEBUFFER_COPY_DEPTH_VRAM = 4023,
FRAMEBUFFER_COPY_DEPTH_SOFTWARE = 4024,
FRAMEBUFFER_N64_DEPTH_COMPARE = 4025,
FRAMEBUFFER_N64_DEPTH_COMPARE_TOOLTIP = 4026,
FRAMEBUFFER_N64_DEPTH_DISABLE = 4027,
FRAMEBUFFER_N64_DEPTH_FAST = 4028,
FRAMEBUFFER_N64_DEPTH_COMPATIBLE = 4029,
FRAMEBUFFER_FORCE_DEPTH_BUFFER_CLEAR = 4030,
FRAMEBUFFER_FORCE_DEPTH_BUFFER_CLEAR_TOOLTIP = 4031,
FRAMEBUFFER_RENDER_FRAMEBUFFER = 4032,
FRAMEBUFFER_RENDER_FRAMEBUFFER_TOOLTIP = 4033,
FRAMEBUFFER_COPY_DEPTH_TO_MAIN = 4034,
FRAMEBUFFER_COPY_DEPTH_TO_MAIN_TOOLTIP = 4035,
};
struct LanguageFile

View File

@ -1,6 +1,7 @@
#include "config-framebuffer.h"
#include "resource.h"
#include "../Config.h"
#include "Language.h"
CFrameBufferTab::CFrameBufferTab() :
CConfigTab(IDD_TAB_FRAME_BUFFER)
@ -9,6 +10,9 @@ CFrameBufferTab::CFrameBufferTab() :
BOOL CFrameBufferTab::OnInitDialog(CWindow /*wndFocus*/, LPARAM /*lInitParam*/)
{
TTInit();
TTSize(400);
SIZE iconSz = { ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON) };
m_EmulateFBIcon.SubclassWindow(GetDlgItem(IDC_EMULATE_FB_ICON));
m_EmulateFBIcon.SetIcon(MAKEINTRESOURCE(IDI_ICON_WARNING), iconSz.cx, iconSz.cy);
@ -16,29 +20,105 @@ BOOL CFrameBufferTab::OnInitDialog(CWindow /*wndFocus*/, LPARAM /*lInitParam*/)
m_EmulateFBIcon.SetBackroundBrush((HBRUSH)GetStockObject(WHITE_BRUSH));
CComboBox frameBufferSwapComboBox(GetDlgItem(IDC_CMB_FRAMEBUFFER_SWAP));
frameBufferSwapComboBox.AddString(L"Vertical interrupt (recommended, fewest game issues)");
frameBufferSwapComboBox.AddString(L"VI origin change (faster, few game issues)");
frameBufferSwapComboBox.AddString(L"Color buffer change (fastest, some game issues)");
frameBufferSwapComboBox.AddString(wGS(FRAMEBUFFER_VERTICAL_INTERRUPT).c_str());
frameBufferSwapComboBox.AddString(wGS(FRAMEBUFFER_VI_ORIGIN_CHANGE).c_str());
frameBufferSwapComboBox.AddString(wGS(FRAMEBUFFER_COLOR_BUFFER_CHANGE).c_str());
CComboBox copyColorBufferComboBox(GetDlgItem(IDC_CMB_COPY_COLOR_BUFFER));
copyColorBufferComboBox.AddString(L"Never (fastest, many game issues)");
copyColorBufferComboBox.AddString(L"Synchronous (slowest, fewest game issues)");
copyColorBufferComboBox.AddString(L"Asynchronous (fast, few game issues)");
copyColorBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_NEVER).c_str());
copyColorBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_SYNCHRONOUS).c_str());
copyColorBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_ASYNCHRONOUS).c_str());
CComboBox copyDepthBufferComboBox(GetDlgItem(IDC_CMB_COPY_DEPTH_BUFFER));
copyDepthBufferComboBox.AddString(L"Never (fastest, most game issues)");
copyDepthBufferComboBox.AddString(L"From VRAM (slow, some game issues)");
copyDepthBufferComboBox.AddString(L"In software (fast, fewest game issues)");
copyDepthBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_DEPTH_NEVER).c_str());
copyDepthBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_DEPTH_VRAM).c_str());
copyDepthBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_DEPTH_SOFTWARE).c_str());
CComboBox n64DepthCompareComboBox(GetDlgItem(IDC_CMB_N64_DEPTH_COMPARE));
n64DepthCompareComboBox.AddString(L"Disable");
n64DepthCompareComboBox.AddString(L"Fast");
n64DepthCompareComboBox.AddString(L"Compatible");
n64DepthCompareComboBox.AddString(wGS(FRAMEBUFFER_N64_DEPTH_DISABLE).c_str());
n64DepthCompareComboBox.AddString(wGS(FRAMEBUFFER_N64_DEPTH_FAST).c_str());
n64DepthCompareComboBox.AddString(wGS(FRAMEBUFFER_N64_DEPTH_COMPATIBLE).c_str());
return true;
}
void CFrameBufferTab::ApplyLanguage(void)
{
SetDlgItemTextW(IDC_CHK_ENABLE_FRAMEBUFFER, wGS(FRAMEBUFFER_ENABLE).c_str());
SetDlgItemTextW(IDC_FRAME_BUFFER_INFO, wGS(FRAMEBUFFER_ENABLE_INFO).c_str());
SetDlgItemTextW(IDC_CHK_COPY_AUX_BUFFERS, wGS(FRAMEBUFFER_COPY_AUX_BUFFERS).c_str());
SetDlgItemTextW(IDC_TXT_FRAMEBUFFER_SWAP, wGS(FRAMEBUFFER_SWAP).c_str());
SetDlgItemTextW(IDC_CHK_FB_INFO_ENABLE, wGS(FRAMEBUFFER_INFO_ENABLE).c_str());
SetDlgItemTextW(IDC_CHK_READ_COLOR_CHUNK, wGS(FRAMEBUFFER_READ_COLOR_CHUNK).c_str());
SetDlgItemTextW(IDC_CHK_READ_DEPTH_CHUNK, wGS(FRAMEBUFFER_READ_DEPTH_CHUNK).c_str());
SetDlgItemTextW(IDC_TXT_COPY_COLOR_BUFFER, wGS(FRAMEBUFFER_COPY_COLOR_BUFFER).c_str());
SetDlgItemTextW(IDC_TXT_COPY_DEPTH_BUFFER, wGS(FRAMEBUFFER_COPY_DEPTH_BUFFER).c_str());
SetDlgItemTextW(IDC_TXT_N64_DEPTH_COMPARE, wGS(FRAMEBUFFER_N64_DEPTH_COMPARE).c_str());
SetDlgItemTextW(IDC_CHK_FORCE_DEPTH_BUFFER_CLEAR, wGS(FRAMEBUFFER_FORCE_DEPTH_BUFFER_CLEAR).c_str());
SetDlgItemTextW(IDC_CHK_RENDER_FRAMEBUFFER, wGS(FRAMEBUFFER_RENDER_FRAMEBUFFER).c_str());
SetDlgItemTextW(IDC_CHK_COPY_DEPTH_TO_MAIN_DEPTH_BUFFER, wGS(FRAMEBUFFER_COPY_DEPTH_TO_MAIN).c_str());
std::wstring tooltip = wGS(FRAMEBUFFER_COPY_AUX_BUFFERS_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_CHK_COPY_AUX_BUFFERS), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_SWAP_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_TXT_FRAMEBUFFER_SWAP), tooltip.c_str());
TTSetTxt(GetDlgItem(IDC_CMB_FRAMEBUFFER_SWAP), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_INFO_ENABLE_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_CHK_FB_INFO_ENABLE), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_READ_COLOR_CHUNK_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_CHK_READ_COLOR_CHUNK), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_READ_DEPTH_CHUNK_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_CHK_READ_DEPTH_CHUNK), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_COPY_COLOR_BUFFER_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_TXT_COPY_COLOR_BUFFER), tooltip.c_str());
TTSetTxt(GetDlgItem(IDC_CMB_COPY_COLOR_BUFFER), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_COPY_DEPTH_BUFFER_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_TXT_COPY_COLOR_BUFFER), tooltip.c_str());
TTSetTxt(GetDlgItem(IDC_CMB_COPY_DEPTH_BUFFER), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_N64_DEPTH_COMPARE_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_TXT_N64_DEPTH_COMPARE), tooltip.c_str());
TTSetTxt(GetDlgItem(IDC_CMB_N64_DEPTH_COMPARE), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_FORCE_DEPTH_BUFFER_CLEAR_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_CHK_FORCE_DEPTH_BUFFER_CLEAR), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_RENDER_FRAMEBUFFER_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_CHK_RENDER_FRAMEBUFFER), tooltip.c_str());
tooltip = wGS(FRAMEBUFFER_COPY_DEPTH_TO_MAIN_TOOLTIP);
TTSetTxt(GetDlgItem(IDC_CHK_COPY_DEPTH_TO_MAIN_DEPTH_BUFFER), tooltip.c_str());
CComboBox frameBufferSwapComboBox(GetDlgItem(IDC_CMB_FRAMEBUFFER_SWAP));
int selectedIndx = frameBufferSwapComboBox.GetCurSel();
frameBufferSwapComboBox.ResetContent();
frameBufferSwapComboBox.AddString(wGS(FRAMEBUFFER_VERTICAL_INTERRUPT).c_str());
frameBufferSwapComboBox.AddString(wGS(FRAMEBUFFER_VI_ORIGIN_CHANGE).c_str());
frameBufferSwapComboBox.AddString(wGS(FRAMEBUFFER_COLOR_BUFFER_CHANGE).c_str());
if (selectedIndx >= 0)
frameBufferSwapComboBox.SetCurSel(selectedIndx);
CComboBox copyColorBufferComboBox(GetDlgItem(IDC_CMB_COPY_COLOR_BUFFER));
selectedIndx = copyColorBufferComboBox.GetCurSel();
copyColorBufferComboBox.ResetContent();
copyColorBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_NEVER).c_str());
copyColorBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_SYNCHRONOUS).c_str());
copyColorBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_ASYNCHRONOUS).c_str());
if (selectedIndx >= 0)
copyColorBufferComboBox.SetCurSel(selectedIndx);
CComboBox copyDepthBufferComboBox(GetDlgItem(IDC_CMB_COPY_DEPTH_BUFFER));
selectedIndx = copyDepthBufferComboBox.GetCurSel();
copyDepthBufferComboBox.ResetContent();
copyDepthBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_DEPTH_NEVER).c_str());
copyDepthBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_DEPTH_VRAM).c_str());
copyDepthBufferComboBox.AddString(wGS(FRAMEBUFFER_COPY_DEPTH_SOFTWARE).c_str());
if (selectedIndx >= 0)
copyDepthBufferComboBox.SetCurSel(selectedIndx);
CComboBox n64DepthCompareComboBox(GetDlgItem(IDC_CMB_N64_DEPTH_COMPARE));
selectedIndx = n64DepthCompareComboBox.GetCurSel();
n64DepthCompareComboBox.ResetContent();
n64DepthCompareComboBox.AddString(wGS(FRAMEBUFFER_N64_DEPTH_DISABLE).c_str());
n64DepthCompareComboBox.AddString(wGS(FRAMEBUFFER_N64_DEPTH_FAST).c_str());
n64DepthCompareComboBox.AddString(wGS(FRAMEBUFFER_N64_DEPTH_COMPATIBLE).c_str());
if (selectedIndx >= 0)
n64DepthCompareComboBox.SetCurSel(selectedIndx);
}
LRESULT CFrameBufferTab::OnColorStatic(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)

View File

@ -1,10 +1,12 @@
#pragma once
#include "config-tab.h"
#include "wtl-BitmapPicture.h"
#include "wtl-tooltip.h"
#include "resource.h"
class CFrameBufferTab :
public CConfigTab
public CConfigTab,
public CToolTipDialog<CFrameBufferTab>
{
public:
BEGIN_MSG_MAP(CFrameBufferTab)
@ -13,6 +15,7 @@ public:
MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnColorStatic)
COMMAND_HANDLER_EX(IDC_CHK_ENABLE_FRAMEBUFFER, BN_CLICKED, OnEnableFramebuffer)
COMMAND_HANDLER_EX(IDC_CHK_FB_INFO_ENABLE, BN_CLICKED, OnFbInfoEnable)
CHAIN_MSG_MAP(CToolTipDialog<CFrameBufferTab>)
END_MSG_MAP()
CFrameBufferTab();

Binary file not shown.

View File

@ -98,3 +98,37 @@
#3030# "Hintergrund-Rendering ist ein komplexer Makrobefehl zum Rendern großer (normalerweise bildschirmfüllender) Bilder. Da Hintergrundbilder normalerweise nicht in den Texturspeicher passen, werden sie vom Mikrocode auf schmale Streifen aufgeteilt und einzeln gerendert. HLE-Code hat zwei Modi zur Emulation von Hintergrundbefehlen:\nAn einem Stück: Das gesamte Hintergrundbild wird als ein texturiertes Rechteck dargestellt. Diese Methode ist normalerweise viel schneller, aber das Ergebnis ist nicht immer korrekt.\nIn Streifen: Diese Methode emuliert Hintergrundbefehle so nah wie möglich zur tatsächlichen Mikrocode-Implementierung. Ist langsamer, aber präziser. Ein weiteres Problem: Bei einigen Spielen können Lücken zwischen den gerenderten Streifen in hoher Auflösung auftreten. Verwende die &quot;Rendern von 2D-Elementen in N64-Auflösung&quot; -Option zum Entfernen der Lücken.\n[Empfehlung: Spielabhängig, meistens in Streifen]"
#3031# "An einem Stück"
#3032# "In Streifen"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "Framebuffer emulieren"
#4001# "Wenn diese Einstellung nicht ausgewählt ist, sind viele Effekte deaktiviert wie z.B. Kantenglättung, Beschneiden, Seitenverhältnis, N64 Auflösungsfaktor, N64-Style Tiefenvergleich und mehr. Diese Einstellung sollte nur deaktiviert werden, falls es Geschwindigkeitsprobleme gibt."
#4002# "Kopiere den Hilfs-Farb-Buffer in den N64 Speicher (manchmal langsam, wenige Spielprobleme)"
#4003# "Wenn diese Einstellung ausgewählt ist wird der Hilfs-Farb-Buffer, direkt nachdem er aktualisiert wurde, in den N64 Speicher geschrieben. Diese Einstellung hilft Frame-Buffer-Effekte in einigen Spielen richtig zu emulieren. Sie kann aber deutlich die Leistung reduzieren.\n[Empfehlung: Nicht ausgewählt]"
#4004# "Frame-Bufferwechsel an:"
#4005# "Die Einstellung legt fest, wie oft GLideN64 den Haupt-Frame-Buffer aktualisiert.\nVertikaler Interrupt: Aktualisiert den Buffer so schnell wie möglich, d.h. bei jedem vertikalen Interrupt in der Sekunde (50Hz für PAL und 60Hz für NTSC Spiele). Diese Einstellung hat die höchste Kompatibilität. Verwende diese Einstellung solange es keine Leistungseinbußen gibt.\nVI-Ursprungsänderung: Die VI-Ursprungsänderung korrespondiert mit den eigentlichen FPS eines Spiels. N64 Spiele laufen in der Regel mit 20 bis 30 FPS. Der Buffer wird nicht so oft wie beim ersten Modus aktualisiert. Dieser Modus funktioniert nicht bei Spielen, welche einen einzigen Buffer verwenden, was selten vorkommt.\nFarb-Buffer-Änderung: Diese Einstellung überprüft, ob sich der Frame-Buffer geändert hat. Bei einigen Spielen funktioniert diese Einstellung nicht."
#4006# "Vertikaler Interrupt (empfohlen, wenigste Spielprobleme)"
#4007# "VI Ursprung hat sich geändert (schneller, wenige Spielprobleme)"
#4008# "Farbbuffer Änderung (am schnellsten, einige Spielprobleme)"
#4009# "Benutze die Hilfe des Emulators zum Lesen/Schreiben des Frame-Buffers"
#4010# "Einige Emulatoren erkennen nur schlecht, ob der Frame-Buffer gelesen oder geschrieben wurden. Die Erkennung des Emulators kann deaktiviert werden, damit GLideN64 selbst Frame-Buffer lesen und schreiben kann.\n[Empfehlung: Gewöhnlich nicht ausgewählt, aber manche Spiele laufen mit dieser Einstellung schneller]"
#4011# "Lese Farb-Buffer in 4kB Stücken"
#4012# "Wenn diese Einstellung ausgewählt ist, wird der Farb-Buffer in Stücken gelesen. Andernfalls wird der Buffer in einem Rutsch gelesen. Wenn ein Spiel den kompletten Buffer lesen muss, kann diese Einstellung zu Verzögerungen führen.\n[Empfehlung: Gewöhnlich nicht ausgewählt, weil der Farb-Buffer in der Regel komplett gelesen wird]"
#4013# "Lese Depth-Buffer in 4kB Stücken"
#4014# "Wenn diese Einstellung ausgewählt ist, wird der Depth-Buffer in Stücken gelesen. Andernfalls wird der Buffer in einem Rutsch gelesen. Wenn ein Spiel den kompletten Buffer lesen muss, kann diese Einstellung zu Verzögerungen führen.\n[Empfehlung: Ausgewählt, weil der Depth-Buffer in der Regel nicht komplett gelesen wird]"
#4015# "Kopiere den Frame-Buffer der Grafikkarte in den N64 Speicher:"
#4016# "Bei einigen Spielen kann GLideN64 nicht feststellen, ob der Frame-Buffer verwendet wird. Mit diesen Einstellungen kann festgelegt werde, ob GLideN64 jeden Frame des Grafikkarten-Frame-Buffers in den N64 Speicher kopiert.\nNiemals: Deaktivert das Kopieren des Grafikkarten-Buffers.\nSynchron: Effekte aller Spiele werden erkannt. Die Leistung kann beeinträchtigt werden. Verwende diese Einstellung für alle Spiele, welche mit Asynchron nicht funktionieren.\nAsynchron: Die Effekte der meisten Spiele werden erkannt.\n[Empfehlung: Asynchron]"
#4017# "Niemals (am schnellsten, viele Spielprobleme)"
#4018# "Synchron (am langsamsten, die wenigsten Spielprobleme)"
#4019# "Asynchron (schnell, wenige Spielprobleme)"
#4020# "Kopiere den Depth-Buffer der Grafikkarte in den N64 Speicher:"
#4022# "Niemals (am schnellsten, die meisten Spielprobleme)"
#4023# "Vom VRAM (langsam, einige Spielprobleme)"
#4024# "In Software (schnell, am wenigsten Spielprobleme)"
#4027# "Deaktivieren"
#4030# "Tiefenpuffer löschen erzwingen"
#4032# "Übergebe den N64 Frame-Buffer an die Ausgabe"
#4033# "Wenn diese Einstellung ausgewählt ist, wird der Frame-Buffer direkt ausgegeben. Dies verhindert einige Grafikprobleme, kann aber zu Verzögerungen und visuellen Problemem führen.\n[Empfehlung: In der Regel nicht ausgewählt]"
#4034# "Tiefe in Haupttiefenpuffer kopieren"
#4035# "Diese Option ist für einige von der Reshade-Tiefe abhängige Effekte, wie SSAO und Tiefenschärfe, erforderlich.\n[Empfehlung: nur wenn du Reshade verwendest und tiefenabhängige Effekte benötigst]"

View File

@ -110,3 +110,43 @@
#3030# "Background is a complex macro command used to render large (normally full screen) images. Since background images usually don't fit texture memory, the microcode splits them on narrow strips and renders them one by one. HLE code has two modes to emulate background commands:\nOne piece: The whole background image rendred as one textured rectangle. This method is normally much faster, but the result is not always correct.\nStripped: This method emulates background commands as close as possible to actual microcode implementation. It's slower but more precise. Another problem: some games may have gaps between rendered strips in high resolution. Use &quot;Render 2D elements in N64 resolution&quot; option to remove the gaps.\n[Recommended: Game dependent, mostly Stripped]"
#3031# "One piece"
#3032# "Stripped"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "Emulate frame buffer"
#4001# "Unchecking this option disables many effects including cropping, aspect ratio, N64 resolution factor, N64-style depth compare and more. Don't uncheck this option unless you have performance issues."
#4002# "Copy auxiliary color buffers to N64 memory (sometimes slow, fewer game issues)"
#4003# "When checked, the auxiliary color buffer is copied to N64 memory right after rendering to it is finished. This option helps to correctly emulate frame buffer effects in some games. This option may noticeably reduce performance.\n[Recommended: Usually unchecked]"
#4004# "Frame buffer swap on:"
#4005# "This option controls how often GLideN64 updates the main frame buffer.\nVertical interrupt: Update the buffer as quickly as possible, every vertical interrupt per second (50 for PAL and 60 for NTSC games). This option is the most compatible. Use this mode unless you have performance problems.\nVI origin change: The VI origin changes corresponding to the game's actual FPS. N64 games typically run between 20 to 30 FPS so the buffers swap less often than the first mode. This mode does not work for games that use single buffering, which is rare.\nColor buffer change: This option checks to see if the frame buffer has been changed. There are some games where this doesn't work."
#4006# "Vertical interrupt (recommended, fewest game issues)"
#4007# "VI origin change (faster, few game issues)"
#4008# "Color buffer change (fastest, some game issues)"
#4009# "Use emulator help to read/write frame buffers"
#4010# "Some emulators do a poor job of detecting when to read/write frame buffers. You can disable emulator help to let GLideN64 read/write frame buffers itself.\n[Recommended: Usually unchecked, but for some games/emulators it may be faster checked]"
#4011# "Read color buffer in 4 KB chunks"
#4012# "When checked, the color buffer will be read in chunks. Otherwise, the buffer will be read in its entirety. If a game needs to read the entire buffer, selecting this option may be slow.\n[Recommended: Usually unchecked, because the color buffer is usually read entirely]"
#4013# "Read depth buffer in 4 KB chunks"
#4014# "When checked, the depth buffer will be read in chunks. Otherwise the buffer will be read in its entirety. If a game needs to read the entire buffer, selecting this option may be slow.\n[Recommended: Checked, because the depth buffer is not often read entirely]"
#4015# "Copy video card frame buffer to N64 memory:"
#4016# "In some games GLideN64 can't detect when the game uses the frame buffer. With these options, you can have GLideN64 copy each frame of your video card's frame buffer to N64 memory.\nNever: Disable copying buffers from video card.\nSynchronous: Effects are detected for all games, but it can be slow. Use for games where Asynchronous doesn't work.\nAsynchronous: Effects are detected for most games.\n[Recommended: Usually Asynchronous]"
#4017# "Never (fastest, many game issues)"
#4018# "Synchronous (slowest, fewest game issues)"
#4019# "Asynchronous (fast, few game issues)"
#4020# "Copy video card depth buffer to N64 memory:"
#4021# "The depth buffer is used to emulate some effects (e.g. coronas):\nNever: Depth buffer is disabled.\nFrom VRAM: Your video card's depth buffer is copied to N64 memory each frame, which can be slow on some games.\nIn software: Generally faster than copying from VRAM, but the result can be imperfect.\n[Recommended: In software]"
#4022# "Never (fastest, most game issues)"
#4023# "From VRAM (slow, some game issues)"
#4024# "In software (fast, fewest game issues)"
#4025# "N64-style depth compare (experimental, disables MSAA)"
#4026# "The N64 uses a unique method of calculating depth to the camera. When enabled, GlideN64 uses shaders to try to emulate these calculations correctly. Not compatible with anti-aliasing. Experimental!\nFast mode requires OpenGL 4.2 and fragment shader interlock extensions.\nCompatible mode requires only core OpenGL 4.2 Can be slow!\n[Recommended: Sometimes checked, for several games]"
#4027# "Disable"
#4028# "Fast"
#4029# "Compatible"
#4030# "Force depth buffer clear"
#4031# "Enable force depth buffer clear. A hack. Necessary for Eikou no Saint Andrews.\n[Recommended: except for Eikou no Saint Andrews]"
#4032# "Render N64 frame buffer to output"
#4033# "When this option is checked, the frame buffer is rendered directly to the screen. This prevents some graphic problems but may cause slowdowns or visual quality problems.\n[Recommended: Usually unchecked]"
#4034# "Copy depth to main depth buffer"
#4035# "This option is required for some Reshade depth dependant effects, such as SSAO and depth of field.\n[Recommended: only if you use Reshade and need depth dependant effects]"

View File

@ -62,4 +62,35 @@
#3025# "En algunos juegos no se alinean las coordenadas de los elementos en 2D: Hay una separación de medio píxel entre cada elemento adyacente. No es algo visible cuando se renderizan en la resolución nativa de N64, pero provoca líneas negras cuando se escala la imagen. Esta opción intenta unir estos elementos en 2D.\nPara elementos en 2D adyacentes: Aplica la corrección sólo en los polígonos que la necesiten. Selecciona esta opción para los juegos que tengan problemas de líneas negras.\nSiempre: Aplica la corrección en todos los elementos en 2D. Selecciona esta opción cuando «Para elementos adyacentes» no funcione.\nNunca: No corregir las líneas negras entre los elementos en 2D.\n[Recomendación: En función de cada juego, por lo general «Nunca»]"
#3026# "Para elementos en 2D adyacentes"
#3027# "Siempre"
#3028# "Nunca"
#3028# "Nunca"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "Emular frame buffer"
#4001# "Al desactivar esta opción desactivarás muchos efectos, como el recorte de imagen, la proporción de aspecto, el factor de resolución de N64 y la comparación de profundidad al estilo de N64, entre otros. No desactives esta opción salvo que tengas problemas de rendimiento."
#4002# "Copiar búfers auxiliares de color a la memoria de N64 (A veces va lento, puede dar problemas)"
#4003# "Al activar esta opción,se copiará el búfer auxiliar de color a la memoria de N64 nada más sea renderizado. Permite emular correctamente los efectos basados en frame buffer de algunos juegos. Esta opción podría reducir visiblemente el rendimiento.\n[Recomendación: Por norma general desactivado]"
#4004# "Actualización del frame buffer:"
#4005# "Esta opción controla la frecuencia con la que GlideN64 actualizará el frame buffer principal.\nInterrupción vertical: Actualiza el búfer lo más rápido posible, en cada interrupción vertical por segundo (50 en juegos PAL y 60 en juegos NTSC). Es la opción más compatible. Utilízala salvo que tengas problemas de rendimiento.\nCambio en el origen de la VI: El origen del VI cambia en función de los FPS que tenga el juego. Los juegos de N64 suelen funcionar a una velocidad de entre 20 y 30 FPS, así que los búfers se actualizan menos que en el primer modo. Este modo no funciona en los juegos monobúfer, lo que es poco habitual.\nCambio en el búfer de color: Esta opción verifica que se haya cambiado el frame buffer. No funciona en algunos juegos."
#4006# "Interrupción vertical (Recomendado, problemas mínimos)"
#4007# "Cambio en el origen de la VI (Más rápido, da pocos problemas)"
#4008# "Cambio en el búfer de color (Más rápido, da algunos problemas)"
#4009# "Utilizar las ayudas del emulador para leer/escribir los frame buffers"
#4010# "Algunos emuladores no son muy buenos a la hora de detectar el momento de leer o escribir en los frame buffers. Puedes desactivar la ayuda del emulador para que GlideN64 se encargue de leer y escribir los frame buffers por su cuenta.\n[Recomendación: Por norma general desactivado, aunque algunos juegos o emuladores pueden ir más rápidos si se deja activado]"
#4011# "Leer el búfer de color por fragmentos de 4 KB"
#4012# "Al activar esta opción, el búfer de color se leerá por fragmentos. En caso contrario, el búfer se leerá en su totalidad. Si algún juego necesita leer el búfer entero, esta opción podría ralentizarlo.\n[Recomendación: Por norma general desactivado, ya que suele leerse el búfer de color en su totalidad]"
#4013# "Leer el búfer de profundidad por fragmentos de 4 KB"
#4014# "Al activar esta opción, el búfer de profundidad se leerá por fragmentos. En caso contrario, el búfer se leerá en su totalidad. Si algún juego necesita leer el búfer entero, esta opción podría ralentizarlo.\n[Recomendación: Activado, ya que el búfer de profundidad no suele leerse en su totalidad]"
#4015# "Copiar el frame buffer de la tarjeta gráfica a la memoria de N64:"
#4016# "GlideN64 no podrá detectar el uso del frame buffer en algunos juegos. Con estas opciones podrás hacer que GlideN64 copie cada fotograma del frame buffer de tu tarjeta gráfica a la memoria de N64.\nNunca: No copiar los búfers de la tarjeta gráfica.\nSíncrono: Detecta los efectos de todos los juegos, pero puede ser lento. Utilízalo en los juegos en los que no funcione la opción «Asíncrono».\nAsíncrono: Detecta los efectos en casi todos los juegos.\n[Recomendación: Por norma general asíncrono]"
#4017# "Nunca (Lo más rápido, da más problemas)"
#4018# "Síncrono (Lo más lento, problemas mínimos)"
#4019# "Asíncrono (Rápido, da pocos problemas)"
#4020# "Copiar búfer de profundidad de la tarjeta gráfica a la memoria de N64:"
#4022# "Nunca (Lo más rápido, lo más problemático)"
#4023# "Copiar de la VRAM (Lento, da algunos problemas)"
#4024# "Por software (Rápido, problemas mínimos)"
#4027# "Desactivado"
#4032# "Renderizar el frame buffer de N64 a la imagen"
#4033# "Al activar esta opción se renderizará el frame buffer directamente en pantalla. Esto evita algunos problemas gráficos pero puede provocar ralentizaciones o problemas de calidad visual.\n[Recomendación: Por norma general desactivado]"

View File

@ -62,4 +62,35 @@
#3025# "Dans certains jeux les coordonées des sections d'éléments 2D ne sont pas alignés : il y a un demi-pixel d'écart entre les éléments adjacents. Quand le rendu est défini à la résolution N64 d'origine cela n'est pas visible, mais quand l'image est mise à l'échelle supérieure cela résulte en l'affichage de lignes noires. Cette option tente de connecter les éléments 2D.\nPour les éléments 2D adjacents : Applique la correction seulement pour les polygones qui la nécessite. Sélectionnez cette option pour les jeux qui affiche des lignes noires.\nToujours : Applique la correction pour tous les éléments 2D. Sélectionnez cette option quand Pour les éléments 2D adjacents ne fonctionne pas.\nJamais : N'essaye pas de corriger les lignes noires entre les éléments 2D.\n[Recommandé : En fonction du jeu, généralement Jamais]"
#3026# "Pour les éléments 2D adjacents"
#3027# "Toujours"
#3028# "Jamais"
#3028# "Jamais"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "Émuler le Tampon Image"
#4001# "Décocher cette option désactive de nombreux effets tels que le recadrage, le format d'écran, le facteur de résolution N64, la comparaison de profondeur de la N64 et autres. Veuillez ne pas décocher cette option sauf si vous avez des problèmes de performance."
#4002# "Copier les tampons couleur auxiliaires vers la mémoire de la N64 (parfois lent, moins de problèmes en jeu)"
#4003# "Quand l'option est cochée, le tampon couleur auxiliaire est copié vers la mémoire de la N64 juste après la restitution. Cette option aide à corriger des effets du tampon image dans quelques jeux. Cela peut réduire significativement les performances.\n[Recommandé : Généralement désactivé]"
#4004# "Changer le tampon image :"
#4005# "Cette option contrôle la fréquence de mise à jour du tampon image principal.\nÀ l'interruption verticale : Met à jour le tampon aussi rapidement que possible : à chaque interruption verticale par seconde (50 pour les jeux PAL et 60 pour les jeux NTSC). C'est l'option qui offre la meilleure compatibilité. Utilisez ce mode sauf si vous avez des problèmes de performance.\nAu changement d'origine VI : Le changement d'origine VI correspond au FPS actuel du jeu. Les jeux N64 tournent généralement entre 20 et 30 FPS donc le tampon change moins souvent que le premier mode. Il ne fonctionne pas pour les jeux qui utilisent une mise en tampon unique, ce qui est rare.\nAu changement du Tampon Couleur : Cette option vérifie si le tampon image a changé. Il y a quelques jeux où cela ne fonctionne pas."
#4006# "À l'interruption verticale (recommandé, le moins de problèmes en jeu)"
#4007# "Au changement d'origine VI (plus rapide, peu de problèmes en jeu)"
#4008# "Au changement du Tampon Couleur (le plus rapide, quelques problèmes en jeu)"
#4009# "Utiliser l'aide de l'émulateur pour lire/écrire dans le tampon image"
#4010# "Certains émulateurs ne détectent pas ou mal quand lire/écrire dans le tampon image. Vous pouvez désactiver l'aide de l'émulateur pour laisser GLideN64 lire/écrire dans le tampon image.\n[Recommandé : Généralement désactivé, mais avec certains jeux/émulateurs les performances sont meilleures quand l'option est activée]"
#4011# "Lire les tampons couleur par blocs de 4 Ko"
#4012# "Quand l'option est activée, le tampon couleur sera lu par blocs. Sinon il sera lu dans son intégralité. Si un jeu a besoin de lire entièrement le tampon, sélectionner cette option peut réduire les performances.\n[Recommandé : Généralement désactivé, car le tampon de couleur est souvent lu dans son intégralité]"
#4013# "Lire les tampons de profondeur par blocs de 4 Ko"
#4014# "Quand l'option est activée, le tampon de profondeur sera lu par blocs. Sinon il sera lu dans son intégralité. Si un jeu a besoin de lire entièrement le tampon, sélectionner cette option peut réduire les performances.\n[Recommandé : Activé, car le tampon de profondeur n'est pas souvent lu dans son intégralité]"
#4015# "Copier le tampon image de votre carte graphique vers la mémoire N64 :"
#4016# "Dans certains jeux GLideN64 ne peut pas détecter l'utilisation du tampon image. Avec ces options, GLideN64 copie chaque image du tamon image de votre carte graphique vers la mémoire N64.\nJamais : Désactive la copie du tampon de votre carte graphique.\nSynchrone : Les effets sont détectés pour tous les jeux, mais cela peut être lent. Utilisez cette option pour les jeux où Asynchrone ne fonctionne pas.\nAsynchrone : Les effets sont détectés pour de nombreux jeux.\n[Recommandé : Généralement Asynchrone]"
#4017# "Jamais (le plus rapide, nombreux problèmes en jeu)"
#4018# "Synchrone (le plus lent, le moins de problèmes en jeu)"
#4019# "Asynchrone (rapide, peu de problèmes en jeu)"
#4020# "Copier le tampon de profondeur de votre carte graphique vers la mémoire N64 :"
#4022# "Jamais (le plus rapide, le plus de problèmes en jeu)"
#4023# "Depuis la VRAM (lent, quelques problèmes en jeu)"
#4024# "Dans le logiciel (rapide, le moins de problèmes en jeu)"
#4027# "Désactivé"
#4032# "Restituer le tampon image N64 vers la sortie"
#4033# "Quand cette option est activée, le tampon image est restitué directement vers l'écran. Cela permet de corriger certains problèmes graphiques mais peut causer des ralentissements et réduire la qualité visuelle.\n[Recommandé : Généralement désactivé]"

View File

@ -17,4 +17,9 @@
#2005# "Risoluzione finestra:"
#2011# "Adatta"
#2030# "Filtro Anisotropico:"
#2050# "Lingua:"
#2050# "Lingua:"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "Emula il frame buffer"

View File

@ -21,3 +21,8 @@
#2011# "引き伸ばし"
#2030# "異方性フィルタリング:"
#2050# "言語:"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "フレームバッファのエミュレート"

View File

@ -20,4 +20,9 @@
#2010# "16:9"
#2011# "Rozciągnij"
#2030# "Filtrowanie anizotropowe:"
#2050# "Język:"
#2050# "Język:"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "Emuluj bufor ramki"

View File

@ -20,4 +20,9 @@
#2010# "16:9"
#2011# "Estendido"
#2030# "Filtragem Anisotrópica:"
#2050# "Língua:"
#2050# "Língua:"
/*********************************************************************************
* Frame Buffer Tab *
*********************************************************************************/
#4000# "Emula frame buffer"