diff --git a/qt/src/ControllerPanel.ui b/qt/src/ControllerPanel.ui index 0fd58a94..c4f726a9 100644 --- a/qt/src/ControllerPanel.ui +++ b/qt/src/ControllerPanel.ui @@ -25,6 +25,9 @@ + + <html><head/><body><p>The enumerated controller as seen by the SNES. Controller 1 will always be &quot;Player 1&quot; and so on, no matter what device is assigned to the controller ports.</p></body></html> + SNES Controller 1 @@ -76,6 +79,9 @@ Swap or clear groups of bindings + + <html><head/><body><p>Clear or swap sets of bindings between controllers.</p></body></html> + Edit @@ -101,6 +107,9 @@ Automatically assign a controller's buttons to a slot + + <html><head/><body><p>Use this to automatically assign the default keyboard mapping or a detected controller to a set of bindings.</p><p>This uses the XInput controller protocol and maps it as close as possible to a SNES controller.</p></body></html> + Auto-Assign @@ -123,6 +132,9 @@ + + <html><head/><body><p>This box lists keyboard keys and gamepad buttons mapped to the SNES controller. There are 4 slots, so you can assign 4 different keys or buttons to one SNES button.</p><p>To set a binding, click a box or highlight it with the keyboard and press Enter/Return. The box will show three dots &quot;...&quot;. Press the desired key or gamepad button to assign it to that box. The Escape key will clear the box.</p></body></html> + QAbstractItemView::NoEditTriggers diff --git a/qt/src/EmulationPanel.ui b/qt/src/EmulationPanel.ui index bc2f7b5d..d7be21ab 100644 --- a/qt/src/EmulationPanel.ui +++ b/qt/src/EmulationPanel.ui @@ -7,7 +7,7 @@ 0 0 862 - 756 + 763 @@ -31,6 +31,9 @@ + + <html><head/><body><p>This controls how the program runs the emulated content at the correct speed.</p><p><span style=" font-style:italic;">Timer</span>: This sets a literal timer and shows emulated frames at the exact frame rate specified, or automatically matches the emulated system. It may not match your display's frame rate, which can cause judders.</p><p><span style=" font-style:italic;">Timer with Frameskipping</span>: The same as timer, except if your display has a lower refresh rate than the emulated system it will skip frames to keep up.</p><p><span style=" font-style:italic;">Sound Synchronization: </span>Assume the sound engine is outputting the sound at the correct speed and match the video output rate with it. This assumes your refresh rate is fairly close to the emulated system and you have vsync turned on.</p><p><span style=" font-style:italic;">None:</span> Don't attempt to slow emulation down. If you turn off vsync, this will run as fast as possible. If your display matches the emulated system's refresh rate closely, this with vsync enabled is generally the smoothest option aside from variable refresh rates with a timer.</p></body></html> + Timer - Match the frame rate configured below @@ -79,6 +82,9 @@ + + <html><head/><body><p>Override the frame rate of the emulated system. This can be used to run slightly faster or slower than usual, or to match the timer to your exact refresh rate.</p><p><br/></p><p>Set this to 0 to use whatever the emulated system uses.</p></body></html> + fps @@ -135,6 +141,9 @@ + + <html><head/><body><p>Skips rendering the specified amount of frames when using the fast-forward function. The higher this amount, the faster it goes.</p></body></html> + frames @@ -180,7 +189,11 @@ - + + + <html><head/><body><p>The number of frames between each rewind snapshot. More frames mean rewind can go back further and will rewind faster. </p></body></html> + + @@ -191,6 +204,9 @@ + + <html><head/><body><p>Amount of memory to use to enable the rewind function. The amount of time each MB gets you varies based on the complexity of the game. Set to 0 to disable rewind altogether and use less processor time.</p></body></html> + MB @@ -224,6 +240,9 @@ + + <html><head/><body><p>A hack option. Only use this if you are running a third-party hack of a game that was designed for emulators and needs this.</p></body></html> + Allow invalid VRAM access @@ -231,6 +250,9 @@ + + <html><head/><body><p>Decrease the time it takes for the CPU to perform operations, making it faster. This can remove slowdown, but can also cause glitches in many games.</p></body></html> + Overclock the CPU @@ -238,6 +260,9 @@ + + <html><head/><body><p>This option is explicitly for old AddMusic hacks. If you know you have one of those, you can enable this. Otherwise, leave it unchecked.</p></body></html> + Use a shadow echo buffer @@ -245,6 +270,9 @@ + + <html><head/><body><p>Original controllers may have had a small pin in the dpad preventing left and right or up and down from being pressed at the same time. This will allow that behavior if you're using a keyboard or device that can press those buttons at the same time. Some games will glitch when this is done.</p></body></html> + Allow opposite D-pad directions simultaneously @@ -252,6 +280,9 @@ + + <html><head/><body><p>Allows more sprites to be displayed on the screen in an attempt to remove flickering.</p><p>Some games take advantage of this limit and use it to hide glitches, and removing the limit will make those visible.</p></body></html> + Remove the sprite limit @@ -270,6 +301,9 @@ + + <html><head/><body><p>Change the speed of the SuperFX chip. The SuperFX had some notoriously slow games, and this can be used to attempt to speed them up.</p></body></html> + % @@ -313,6 +347,9 @@ + + <html><head/><body><p>Alternate sound filters can make the audio more crisp than the authentic gaussian filter.</p><p>The Cubic and Sinc filters provide the best improvement, but they can reveal some noise that would normally be hidden by the hardware.</p></body></html> + Nearest diff --git a/qt/src/FoldersPanel.ui b/qt/src/FoldersPanel.ui index 7de50455..7ea579e1 100644 --- a/qt/src/FoldersPanel.ui +++ b/qt/src/FoldersPanel.ui @@ -22,6 +22,9 @@ + + <html><head/><body><p>Determines where to save these files.</p><p><span style=" font-style:italic;">ROM Folder</span> will always save to the same folder as the ROM.</p><p><span style=" font-style:italic;">Config Folder</span> will save to a subfolder of the config folder that is shown. If there is a snes9x.conf file next to your executable, Snes9x will operate in portable mode and the config folder will be the folder the executable is in.</p><p><span style=" font-style:italic;">Custom</span> allows you to specify exactly where to save these files.</p></body></html> + ROM Folder @@ -41,6 +44,9 @@ + + <html><head/><body><p>Determines where to save these files.</p><p><span style=" font-style:italic;">ROM Folder</span> will always save to the same folder as the ROM.</p><p><span style=" font-style:italic;">Config Folder</span> will save to a subfolder of the config folder that is shown. If there is a snes9x.conf file next to your executable, Snes9x will operate in portable mode and the config folder will be the folder the executable is in.</p><p><span style=" font-style:italic;">Custom</span> allows you to specify exactly where to save these files.</p></body></html> + ROM Folder @@ -60,6 +66,9 @@ + + <html><head/><body><p>Determines where to save these files.</p><p><span style=" font-style:italic;">ROM Folder</span> will always save to the same folder as the ROM.</p><p><span style=" font-style:italic;">Config Folder</span> will save to a subfolder of the config folder that is shown. If there is a snes9x.conf file next to your executable, Snes9x will operate in portable mode and the config folder will be the folder the executable is in.</p><p><span style=" font-style:italic;">Custom</span> allows you to specify exactly where to save these files.</p></body></html> + ROM Folder @@ -107,6 +116,9 @@ + + <html><head/><body><p>Determines where to save these files.</p><p><span style=" font-style:italic;">ROM Folder</span> will always save to the same folder as the ROM.</p><p><span style=" font-style:italic;">Config Folder</span> will save to a subfolder of the config folder that is shown. If there is a snes9x.conf file next to your executable, Snes9x will operate in portable mode and the config folder will be the folder the executable is in.</p><p><span style=" font-style:italic;">Custom</span> allows you to specify exactly where to save these files.</p></body></html> + ROM Folder @@ -126,6 +138,9 @@ + + <html><head/><body><p>Determines where to save these files.</p><p><span style=" font-style:italic;">ROM Folder</span> will always save to the same folder as the ROM.</p><p><span style=" font-style:italic;">Config Folder</span> will save to a subfolder of the config folder that is shown. If there is a snes9x.conf file next to your executable, Snes9x will operate in portable mode and the config folder will be the folder the executable is in.</p><p><span style=" font-style:italic;">Custom</span> allows you to specify exactly where to save these files.</p></body></html> + ROM Folder @@ -238,6 +253,9 @@ + + <html><head/><body><p>Setting this to anything other than 0 will save the SRAM (internal game saves) file regularly. If it is set to to 0, it will only save when exiting Snes9x or changing games, and you will lose any progress since the last save if your device crashes.</p></body></html> + seconds diff --git a/qt/src/ShortcutsPanel.ui b/qt/src/ShortcutsPanel.ui index e91819db..2011a2cb 100644 --- a/qt/src/ShortcutsPanel.ui +++ b/qt/src/ShortcutsPanel.ui @@ -53,6 +53,9 @@ 0 + + <html><head/><body><p>This box lists application shortcuts. There are 4 slots, so you can assign 4 different keys or buttons to one function.</p><p>To set a binding, click a box or highlight it with the keyboard and press Enter/Return. The box will show three dots &quot;...&quot;. Press the desired key or gamepad button to assign it to that box. The Escape key will clear the box.</p></body></html> + Open ROM diff --git a/qt/src/SoundPanel.ui b/qt/src/SoundPanel.ui index 1ade3168..1a475dc7 100644 --- a/qt/src/SoundPanel.ui +++ b/qt/src/SoundPanel.ui @@ -30,6 +30,9 @@ 0 + + <html><head/><body><p>The buffer size for the emulator side of sound playback. Ideally, it should be about two frames worth of audio, or about 32ms at 60Hz. Latency will be half this value.</p></body></html> + ms @@ -52,6 +55,9 @@ 0 + + <html><head/><body><p>The output playback rate on your computer. This is <span style=" font-weight:700;">not</span> the playback rate of the emulated system.</p><p>You should set this to match your operating system's sound server. It should almost always be 48000Hz.</p></body></html> + 48000 Hz @@ -87,7 +93,7 @@ - Choose a device to render output. If you have no integrated graphics, there will be only one choice. + @@ -122,6 +128,9 @@ Select the output driver. + + <html><head/><body><p>Selects the driver to output sound with.</p><p><span style=" font-style:italic;">Cubeb: </span>The recommended option.</p><p><span style=" font-style:italic;">SDL</span>: If Cubeb doesn't work.</p><p><span style=" font-style:italic;">PulseAudio:</span> Unix only. May have less latency.</p></body></html> + @@ -146,6 +155,9 @@ + + <html><head/><body><p>This option causes the audio to be slightly stretched to keep the latency even and to prevent underruns and overruns, which will cause pops and cracks in the audio.</p></body></html> + Dynamic rate control @@ -153,6 +165,9 @@ + + <html><head/><body><p>This option stretches the emulated audio output to coincide exactly with your display's refresh rate. It automatically handles the <span style=" font-style:italic;">Input Rate</span> option.</p></body></html> + Adjust input rate to display rate automatically @@ -183,6 +198,9 @@ + + <html><head/><body><p>Control how much the audio is stretched initially.</p><p><br/></p><p>Unless you know what you're doing, it's best to use the option above this to adjust it automatically.</p></body></html> + 31800 @@ -227,6 +245,9 @@ 0 + + <html><head/><body><p>If after everything, you're still getting pops and crackles in audio, you can increase this value. However, it may cause noticeable distortion.</p></body></html> + 3 @@ -267,6 +288,9 @@ + + <html><head/><body><p>Erases all emulated sound output and just sends out silence.</p></body></html> + Mute all sound @@ -274,6 +298,9 @@ + + <html><head/><body><p>Mutes sound when using the turbo and rewind functions, which might be annoying to some users.</p></body></html> + Mute sound during turbo or rewind diff --git a/shaders/glsl.cpp b/shaders/glsl.cpp index 761cf68a..cabf0b82 100644 --- a/shaders/glsl.cpp +++ b/shaders/glsl.cpp @@ -13,7 +13,9 @@ #include "shader_helpers.h" #include "../vulkan/slang_helpers.hpp" #include "shader_platform.h" - +#ifndef _MSC_VER +#include +#endif static const GLfloat tex_coords[16] = { 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f };