Commit Graph

418 Commits

Author SHA1 Message Date
Brandon Wright a9cc03c06c GTK+: Consolidate includes to compat header. 2018-11-06 18:46:44 -06:00
Brandon Wright 0f15a398f9 GTK+: Fix GTK+ 2.0 compatibility again. 2018-11-06 18:04:10 -06:00
Brandon Wright 528839a13b GTK+: lint the snes9x.ui file. 2018-11-06 16:39:23 -06:00
Brandon Wright cadffa0073 GTK+: Relative save slots. 2018-11-06 16:39:23 -06:00
Brandon Wright fcdbe149ba GTK+: Remove extraneous Cg directory. 2018-11-06 11:57:19 -06:00
Brandon Wright de4699bd24 GTK+: Use glXQueryExtension, not epoxy_has_glx. 2018-11-06 11:39:17 -06:00
Brandon Wright d3b42751b9 GTK+: Fix some typos and add comments to config. 2018-11-05 18:40:16 -06:00
Brandon Wright 5e2049ac55 GTK+: Don't append "- Snes9x" to game name. 2018-11-05 18:17:48 -06:00
Brandon Wright b5b7c4390c GTK+: Add support for header bar. 2018-11-02 19:20:46 -05:00
Brandon Wright c5038bc9fe GTK+/style: Remove explicit returns in void funcs. 2018-11-02 16:48:20 -05:00
Brandon Wright a04ccfc02c GTK+: Style: Remove voids from parameter list. 2018-11-02 15:52:26 -05:00
Brandon Wright 4536194e32 GTK+: More consts and enums instead of #defines. 2018-11-02 15:47:31 -05:00
Brandon Wright 61d691a523 GTK+: Clean up control stuff a bit. 2018-11-02 15:27:12 -05:00
Brandon Wright 7700efe1fc GTK+: Fix OpenGL without NPOT. 2018-11-02 15:25:32 -05:00
Brandon Wright 43c61d1c77 GTK+: Get rid of # in joystick binding name.
Rename a couple bindings.
2018-11-01 21:11:39 -05:00
Brandon Wright 0c3bc1d350 GTK+: Remove XML config format. 2018-11-01 21:11:39 -05:00
Brandon Wright b590115594 GTK+, libretro: Don't clip between fields. 2018-11-01 17:14:38 -05:00
Brandon Wright e665f339f0 GTK+: Human-readable bindings in config file. 2018-10-30 19:26:01 -05:00
Brandon Wright d3115c87d6 GTK+: OpenGL+: Check context size on expose.
Also, fix splash drawing on Wayland/OpenGL.
2018-10-29 16:41:41 -05:00
Brandon Wright a3ecddc0bc GTK+: Never let GTK+ paint the output window. 2018-10-29 16:14:40 -05:00
Brandon Wright 6d0eddf02a GTK+: Don't pass draw signal on OpenGL/Wayland.
Also, don't pass draw signal on to GTK+, period.
2018-10-29 16:02:45 -05:00
Brandon Wright 4af57d8d98 GTK+: Disable sound sync by default. 2018-10-28 19:46:08 -05:00
Brandon Wright 79b1ab0250 GTK+: Clean up speed throttling.
No more frameskip selection, only 4 options:

* Timer throttling to Settings.FrameRate
* Same, but skips frames when late
* Wait on sound buffer
* Don't throttle.

Dynamic rate control is automatically disabled for option 3.
2018-10-28 16:55:33 -05:00
Brandon Wright 7dcf6a0ce4 GTK+: Turn context structs into classes.
Remove placeholder "#pragma once" uses.
2018-10-28 11:29:51 -05:00
Brandon Wright c4412fa77b GTK+: Use a GLSL 1.10 shader for OpenGL < 3.0. 2018-10-28 11:22:00 -05:00
Brandon Wright f1b508de1c GTK+: Faster cairo software output path. 2018-10-27 19:07:49 -05:00
Brandon Wright 09498e72e0 GTK+: Modernize OpenGL code.
Requires OpenGL 2.0 or above. Everything is core-compatible now.
2018-10-27 18:13:51 -05:00
Brandon Wright 8c8e04fec2 Remove support for old-style XML shaders. 2018-10-27 16:16:41 -05:00
Brandon Wright aa2db4c186 Remove excess styling. 2018-10-27 16:06:16 -05:00
Brandon Wright 0ce6970cd6 GTK+: Force OpenGL 2.0 compatibility. 2018-10-27 15:56:22 -05:00
Brandon Wright 94c2c4c460 Remove 24-bit PBO format. It's actually useless. 2018-10-27 15:33:55 -05:00
Brandon Wright dc3dd8e709 Support context creation on GLX 1.3. 2018-10-27 15:12:21 -05:00
Brandon Wright 752da257b8 Remove reconfigure method. 2018-10-26 19:14:25 -05:00
Brandon Wright d58c37c4da Be conservative with OpenGL version for now. 2018-10-26 18:54:28 -05:00
Brandon Wright f9b553638f Make OpenGL context management separate. 2018-10-26 18:22:51 -05:00
Brandon Wright b35d8d9ae5 Rename Wayland helpers to Wayland egl context. 2018-10-26 15:49:56 -05:00
Brandon Wright 84b9d5acaa Fix compilation with GTK2. 2018-10-26 15:46:55 -05:00
Brandon Wright e2640286b7 Clean overscan area when turning off extended. 2018-10-24 16:05:44 -05:00
Brandon Wright ad373237e4 GTK: No, the other way. 2018-10-24 15:45:01 -05:00
Brandon Wright 94ec890ac6 GTK: Move centered 224/239 to y=8 instead of y=7. 2018-10-24 15:41:24 -05:00
Brandon Wright a0931d6058 More XRandR not to compile if not X11. 2018-10-22 15:08:11 -05:00
Brandon Wright 1b6690b1fe Invalidate on init to reset GTK spacing. 2018-10-22 15:06:12 -05:00
Brandon Wright a48cbf72da Set output window size. 2018-10-22 14:53:12 -05:00
Brandon Wright 32633bd664 Request compositor protocol v3. Set buffer scale. 2018-10-22 14:36:52 -05:00
Brandon Wright 85608d9384 NULL out region 2018-10-21 18:49:13 -05:00
Brandon Wright 35cdf9c182 Add wayland helper files. 2018-10-21 18:03:35 -05:00
Brandon Wright daec5ccc57 Better Wayland OpenGL.
Still breaks with scale factors.
2018-10-21 17:05:37 -05:00
Brandon Wright 5b76a2b6c7 EGL X11 leaks badly. Revert Wayland/GL stuff ATM. 2018-10-20 16:47:43 -05:00
Brandon Wright 434c943a0b Pass input through subsurface. 2018-10-18 18:08:01 -05:00
Brandon Wright f9f7be1f6f Use a flush instead of commit. 2018-10-18 18:00:27 -05:00
Brandon Wright ae01dbb92c Fix fullscreen in Wayland/GL. 2018-10-18 17:53:07 -05:00
Brandon Wright e70675db98 Basic OpenGL on Wayland. Fullscreen is broken. 2018-10-18 17:47:39 -05:00
Brandon Wright a47e9773d6 Software Wayland mostly works. 2018-10-16 17:26:24 -05:00
Brandon Wright 02ce1fcb35 Better driver failure behavior. 2018-10-15 14:54:36 -05:00
Brandon Wright 34268314c4 Conditional set_bypass_compositor. 2018-10-15 14:31:42 -05:00
Brandon Wright 3829408d3d Allow XV only in GTK/X11. 2018-10-15 14:25:26 -05:00
Rémi Calixte 5e4f12a12b wayland: fix fullscreen mode 2018-10-15 14:20:13 -05:00
Rémi Calixte 58f6099730 wayland: handle screensaver 2018-10-15 14:19:51 -05:00
Rémi Calixte 549e98e5e7 wayland: make xrandr query conditional 2018-10-15 14:19:22 -05:00
Brandon Wright 62f3761aa6 Remove 'else', fix formatting. 2018-10-15 14:18:21 -05:00
Rémi Calixte e7f4bd63fa wayland: implement Snes9xWindow::get_refresh_rate 2018-10-15 14:16:40 -05:00
Rémi Calixte c6731024ca wayland: include X11 libraries only if it is an available GDK backend 2018-10-15 14:15:52 -05:00
Brandon Wright 55723df0a6 GTK: Add EGL WSI for OpenGL. 2018-10-15 14:04:28 -05:00
Brandon Wright daee29865f win32: add InitialSnapshotFilename support. 2018-10-03 17:06:41 -05:00
Brandon Wright 602919d522 GTK+: Don't override command-line port choice. 2018-10-03 16:58:40 -05:00
Brandon Wright 8db667fe13 Don't black out screen when no data in savestate. 2018-08-16 11:01:39 -05:00
Brandon Wright 0b75e2de9d GTK+: Add dangerous hacks. 2018-08-14 17:33:03 -05:00
Brandon Wright 37f6259f06 Fix Chrono Trigger bug where screen jumps. 2018-08-06 12:54:38 -05:00
Brandon Wright 6d15bf7d94 Make interpolation config a little cleaner.
Add config file option to all ports.
2018-08-06 12:31:07 -05:00
Brandon Wright a1b9a89718 GTK+: Update interlaced drawing.
Apply vsync on resize.
2018-08-05 17:03:36 -05:00
orbea 1a9a30ac93 gtk: Use datarootdir instead of datadir. 2018-07-28 16:33:23 -07:00
Brandon Wright d5eeda8bbc Fix with_system_zip variable name. 2018-07-28 17:58:33 -05:00
Brandon Wright 2de55719de Check for NULL Display. 2018-07-12 10:15:37 -05:00
Brandon Wright 95ee47ac06 Use port commands for quickload to allow undo. 2018-06-21 14:23:43 -05:00
Brandon Wright ae814163dd Revert "Save oops unconditionally on loading state."
This reverts commit fc0b79ec2f.
2018-06-21 13:46:29 -05:00
Brandon Wright fc0b79ec2f Save oops unconditionally on loading state.
GTK+: Use oops for undo load state.
2018-06-20 12:44:09 -05:00
Brandon Wright 098f8c1c0c GTK+: Make ALSA driver more verbose. 2018-06-16 18:13:21 -05:00
Brandon Wright e49dcc0cb2 GTK+, Unix: Preserve current joypad state when rewinding. 2018-06-16 17:31:41 -05:00
Brandon Wright de593cbe6f Bump version number to 1.56.2. Update changes.txt. 2018-06-16 17:10:13 -05:00
OV2 35389f5595
GTK+: use new constant name (#338) 2018-06-16 16:30:38 +02:00
Brandon Wright ef1d232897 GTK+: Add integer scaling settings to aspect ratio 2018-06-12 16:05:18 -05:00
Brandon Wright 583e4b740d Add an undo load state option. 2018-06-09 10:23:26 -05:00
Brandon Wright 651ec0bf7e More sanity checking. 2018-06-07 16:16:22 -05:00
Brandon Wright 3578139270 Bump version number. 2018-06-07 16:02:48 -05:00
Brandon Wright f0f758d702 Bound values in preferences. 2018-06-07 15:58:38 -05:00
Brandon Wright 83480765f1 Sanity check input rate better. 2018-06-07 15:49:41 -05:00
Brandon Wright 5af624da32 Check for GTK+ 3.22 or above when using GTK+ 3. 2018-06-07 12:46:03 -05:00
Brandon Wright 9c99a99ff1 Fix height resizing of code and description field in cheat dialog. 2018-06-07 12:19:40 -05:00
Brandon Wright 692c8f58b7 Sanity check automatic input rate for deviations > 5%. 2018-06-07 09:43:29 -05:00
Brandon Wright 162919fa1f Set minimum width for these columns. 2018-06-05 19:38:59 -05:00
Brandon Wright 6b738e496e More cheat window improvements. 2018-06-05 19:17:17 -05:00
Brandon Wright 534971722c Some cheat dialog QOL improvements. 2018-06-04 19:27:24 -05:00
Brandon Wright 642ce83e47 Switch back to .cht format. Update to byuu's new form. 2018-06-03 18:02:48 -05:00
Brandon Wright 36e7748320 Update GTK+ README. 2018-05-31 17:46:27 -05:00
Brandon Wright 456f90369e Use 16-bit with NTSC filter in hires mode. 2018-05-30 19:34:51 -05:00
Brandon Wright b64eaba633 Bump version number, except Appveyor. 2018-05-25 16:01:02 -05:00
Brandon Wright 20bd60a3c6 Update copyright dates. 2018-05-25 15:44:52 -05:00
Brandon Wright 8200a7bb5f Drop Cg shaders from GTK+ port. 2018-05-24 13:00:49 -05:00
Brandon Wright d39e7af6d0 Move shader parameters to main menu and make dialog box non-modal so we can see changes in real time. 2018-05-24 12:20:06 -05:00
Brandon Wright c555b07846 Translate mouse coordinates correctly in hidpi modes. Hide cursor when SuperScope enabled. 2018-05-23 15:50:57 -05:00
Brandon Wright b9b60a8e60 GLSL: Use a viewport callback to size final pass. 2018-05-21 14:36:13 -05:00
Brandon Wright 206523ee17 Update width when converting to/from hires. 2018-05-20 20:03:12 -05:00
Brandon Wright c35360b567 Silence a couple warnings. 2018-05-14 11:20:12 -05:00
Brandon Wright a42498b161 Fix a bunch of warnings. 2018-05-13 20:19:21 -05:00
Brandon Wright 79adc1d3c8 Move shader files to root directory. 2018-05-13 18:22:54 -05:00
Brandon Wright dda4758df6 Add shader_platform.h for platform-specific includes. 2018-05-13 18:12:30 -05:00
Brandon Wright 7411df6c73 Make rewinding and bilinear filtering global Snes9x settings. 2018-05-13 17:31:25 -05:00
Brandon Wright 1aaa2d84e3 Get things building on Gtk+ 2 again. 2018-05-13 17:18:49 -05:00
Brandon Wright a1fa47a978 Remove GUI specifics in save function. 2018-05-13 11:02:52 -05:00
Brandon Wright 31580a5300 Add the shader parameters dialog box files. 2018-05-12 18:17:19 -05:00
Brandon Wright 21dd926a5a Output directly to framebuffer on last pass. 2018-05-12 18:07:23 -05:00
Brandon Wright c9ed910879 Last pass filter. 2018-05-12 17:36:45 -05:00
Brandon Wright 41a8ed53c4 Use correct name. 2018-05-12 16:25:47 -05:00
Brandon Wright fac1174f6b Save shader parameters. 2018-05-12 16:22:27 -05:00
Brandon Wright 6ad137aca2 Work towards configurable parameters. 2018-05-12 15:07:07 -05:00
Brandon Wright e76aac89f2 Support parameters. 2018-05-11 17:08:13 -05:00
Brandon Wright 3b01b57162 Clean up some stuff. Add LUT features to glsl shaders. 2018-05-11 15:56:58 -05:00
Brandon Wright bdcec7e4b5 Allow single .glsl shader files. 2018-05-10 18:57:52 -05:00
Brandon Wright 9da5a83550 Rudimentary GLSL Shader support. 2018-05-10 18:47:55 -05:00
Brandon Wright e0de36dbb6 Rename some functions. 2018-05-08 17:56:13 -05:00
Brandon Wright f7bf180b39 Use libepoxy to cut out the OpenGL loading cruft. 2018-05-08 17:52:40 -05:00
Brandon Wright b34ecf8973 Add rudimentary Cg support for Gtk+ based on the Win32 port. 2018-05-08 16:56:54 -05:00
Brandon Wright fdae8cc72f Add SuperFX overclock multiplier setting.
Our speed isn't nearly correct, so letting the users adjust it is OK.
2018-05-07 17:03:06 -05:00
Brandon Wright 7566704e65 Fix gdk_window_new already having applied device scale. 2018-05-05 14:14:06 -05:00
Brandon Wright 0c8ea1671d Use GdkWindow to avoid Gtk's poor handling of foreign windows. 2018-05-05 13:50:37 -05:00
bearoso 82f3dc4e60
Use XRRGetScreenResourcesCurrent in both places. 2018-05-04 20:21:20 -05:00
Brandon Wright a1f8cf3807 Bypass compositor properly. 2018-05-04 18:31:25 -05:00
Brandon Wright 27141e452e Set auto input rate box after input rate slider. 2018-05-04 17:56:57 -05:00
Brandon Wright 3668c5c7a2 Simplify XRR config. 2018-05-04 17:56:57 -05:00
Brandon Wright 4cdb8f6e65 Overscan issues. 2018-05-04 17:12:22 -05:00
Brandon Wright 0a6931f1a7 Fix EPX smooth to use proper average function. 2018-05-04 14:37:27 -05:00
Brandon Wright dcfb7c3ad0 Use 16-bit instead of 15-bit pixel format on Gtk+. Add splash screen with test patterns. 2018-05-04 14:29:13 -05:00
Brandon Wright 67ae1227e3 Updated icon Gtk+. 2018-05-03 16:25:02 -05:00
Brandon Wright 8384891515 Use level value for S9xUpdateDynamicRate to just report SoundInputRate change. 2018-05-02 17:51:58 -05:00
Brandon Wright a3c5cf86bd Disable Dynamic Rate Control in Gtk+ port by default. 2018-05-02 17:44:22 -05:00
Brandon Wright 5874559a3e Add automatic input rate checkbox. Use as default. 2018-05-02 17:43:32 -05:00
Brandon Wright d726c6a8dd Mandate XRandR libraries and headers. 2018-05-02 16:53:54 -05:00
Brandon Wright a8085dac41 Fix directory search for cheat database. 2018-05-01 18:00:39 -05:00
Brandon Wright e3838a2dad Use .bml instead of .cht. Add fallbacks where loading. 2018-04-30 17:25:43 -05:00
Brandon Wright e69fd7c50e Fix a couple bugs. Change cheats on unix to work like they used to. 2018-04-30 16:44:17 -05:00
Brandon Wright 831176983a Set bypass compositor bit on drawing window. 2018-04-29 10:37:05 -05:00
Brandon Wright c48f212a8a Rework XRandR support to list all modes and refresh rates. 2018-04-28 18:36:40 -05:00
Brandon Wright 363fdc9848 Try to turn off compositor in full-screen. 2018-04-28 12:49:36 -05:00
Brandon Wright 99f7e63972 Use GTK_MAJOR_VERSION macro instead of custom one. 2018-04-28 11:59:17 -05:00
Brandon Wright f2dcb275d2 Allow --with-gtk2 to disable GTK+ 3. 2018-04-28 11:27:57 -05:00
Brandon Wright 4edaba97ca More cheats stuff. 2018-04-27 20:35:20 -05:00
Brandon Wright cb531670e5 Various fixes. Allow global disabling of cheats. 2018-04-26 11:15:20 -05:00
Brandon Wright 0d102b72ff Revamping cheats support. 2018-04-25 19:29:26 -05:00
Brandon Wright bbfeb19b08 Calculate SHA256 checksum for later use. 2018-04-24 17:06:32 -05:00
Brandon Wright 14c8ebba00 Add bml parser and sha256 sum support. 2018-04-24 16:16:22 -05:00