Commit Graph

481 Commits

Author SHA1 Message Date
Brandon Wright aa741087a5 GTK+: Clean up gtk_display files a little. 2019-01-07 16:39:35 -06:00
Brandon Wright 387d600147 GTK+: The build has never allowed GTK+3 < 22. 2018-12-28 18:43:21 -06:00
Brandon Wright e632740be3 GTK+: Use std::string for some config options. 2018-12-28 18:36:23 -06:00
Brandon Wright fcdead0028 GTK+: Use lowercase true/false, bool in more places. 2018-12-28 17:07:32 -06:00
Brandon Wright 3eea50654f GTK+: OpenGL: Separate glFinish and glFenceSync options. 2018-12-28 12:06:31 -06:00
Brandon Wright 6b376cf8f4 GTK+: Match filenames and appname to snes9x-gtk.
This will help environments match the desktop file with
the executable easier. The visible name stays just Snes9x.
2018-12-23 12:09:30 -06:00
Brandon Wright 84dbdfd498 GTK+: Clean up build file and print summary of options. 2018-12-20 18:57:36 -06:00
Brandon Wright f8033eb856 GTK+: Clarify appdatadir default. 2018-12-18 16:47:17 -06:00
Brandon Wright a28a6399cb GTK+: Add appdatadir to meson build for Snes9x-only files. 2018-12-18 15:49:53 -06:00
Brandon Wright 0b787becc1 GTK+: Fix minizip includes. Add default options. 2018-12-18 12:20:54 -06:00
Brandon Wright 9b04ba3a28 GTK+: Silence -Wformat-truncation on GCC. 2018-12-18 12:20:54 -06:00
Brandon Wright 913e797914 GTK+: Switch to Meson build system. 2018-12-18 12:20:54 -06:00
Brandon Wright 4aec72e5a7 GTK+: OpenGL: Get rid of virtual dtor warning. 2018-12-18 12:20:54 -06:00
Brandon Wright 18d52cd0f5 Bump version number to 1.58. 2018-12-13 11:58:33 -06:00
Brandon Wright 1b78509aa0 GTK+: Use borders instead of transparent background for now. 2018-12-12 16:56:56 -06:00
Brandon Wright 56d9cb3d2e GTK+: The config file show know about none. 2018-12-12 16:46:30 -06:00
Brandon Wright 5910ed4501 GTK+: Make sure menu item knows about nothing. 2018-12-12 16:44:47 -06:00
Brandon Wright ba55d8c763 GTK+: Allow disconnecting controller port 2. 2018-12-12 16:40:31 -06:00
Brandon Wright c9a8b28d18 GTK+: Hook up Settings.DisplayPressedKeys 2018-12-12 16:24:21 -06:00
Brandon Wright 8a2cd602da Add special S9xDisplayStringType to pass additional info.
Add some arrow characters for displayed keys.
2018-12-12 16:15:56 -06:00
Brandon Wright a718990735 GTK+: Remove vertex_shader and rename fragment_shader. 2018-12-10 15:10:40 -06:00
Brandon Wright c1cbe9c65f GTK+: More sensible defaults.
16666 NTSC frame time is closer to correct than 16667.
32000/32040 is irrelevant because resampling is always needed.
Don't recommend 32000 in UI.
2018-12-10 15:02:57 -06:00
Brandon Wright bbebb2255a GTK+: OpenGL: Don't link libGL directly. 2018-12-04 16:06:04 -06:00
Brandon Wright a573dee5fe GTK+: OpenGL: Old libepoxy lacks glXSwapIntervalMESA. 2018-12-04 14:57:20 -06:00
Brandon Wright b9ad162723 GTK+: Set locale to C when loading shader files.
We can't know what format they're in, and for some reason español
breaks them.
2018-12-04 11:18:22 -06:00
Brandon Wright 51d3051712 GTK+: Fix data dir name for translations. 2018-12-03 20:52:12 -06:00
Brandon Wright 62425f7f43 GTK+: Update gettext and remove intltool. 2018-12-03 20:10:35 -06:00
Brandon Wright 8106c284d5 GTK+: OpenGL: Use fence to allow GTK+ to run during wait. 2018-12-03 20:03:53 -06:00
Brandon Wright dc4de5b7c7 GTK+: OpenGL: Add fences as glFinish alternative. 2018-12-03 17:32:12 -06:00
Brandon Wright 536c6708c3 GTK+: Various cleanups. 2018-12-03 17:32:12 -06:00
Brandon Wright c21539d269 GTK+: Mandate Netplay, Joystick, JMA. 2018-12-03 17:32:12 -06:00
Brandon Wright d559d7abd4 GTK+: Start in timeout mode. 2018-12-03 17:32:12 -06:00
Brandon Wright 5e9f06858d GTK+: Fix partial config files. Fix sanity check. 2018-12-01 18:54:25 -06:00
Brandon Wright 1b61affbb5 GTK+: OpenGL: Number of components is deprecated. 2018-11-30 15:35:19 -06:00
Brandon Wright adca138f03 GTK+: OpenGL: Use texture in GLSL 1.40 shader. 2018-11-29 16:09:18 -06:00
Brandon Wright 45252aaf93 Remove ssnprintf function. 2018-11-28 10:55:10 -06:00
Brandon Wright d878b46693 GTK+: Don't use sstrncpy when not capping to buffer size. 2018-11-18 14:12:25 -06:00
Brandon Wright a48703796a GTK+: Use std::string here. 2018-11-18 13:08:42 -06:00
Brandon Wright 870bda8efb GTK+: More cleaning. 2018-11-18 12:30:58 -06:00
Brandon Wright 09f06a6167 GTK+: Clean up autotools files. 2018-11-18 12:21:16 -06:00
Brandon Wright 862e2b66fe Turn these into inline functions for sanity. 2018-11-18 12:02:12 -06:00
Brandon Wright 047cfe2f9d Use a sstrncpy function that behaves like strlcpy. 2018-11-18 11:18:27 -06:00
Brandon Wright 600de05244 String bounds-checking. 2018-11-17 18:41:37 -06:00
Brandon Wright 7bb5b00504 GTK+: Patch into S9xCustomDisplayString.
Fix issue with overlay on overscanned height.
2018-11-17 16:12:06 -06:00
Brandon Wright 4471bacf18 GTK+: Silence NULL pointer arithmetic warning. 2018-11-17 15:24:56 -06:00
Brandon Wright 5d1db07e85 GTK+: OpenGL: WaylandEGLContext is a class. 2018-11-17 14:54:57 -06:00
Brandon Wright 1cd825090b GTK+: OpenGL: Don't reset state we don't change. 2018-11-17 12:19:16 -06:00
Brandon Wright f0ddb097f9 Mark all of GTK+ with header stub, and a couple others. 2018-11-15 17:42:29 -06:00
Brandon Wright 5f56cadafb Use a license stub everywhere.
This points to the full license in the root directory.
2018-11-15 17:31:39 -06:00
Brandon Wright 54a3d41d61 GTK+: Implement a different overlay font.
It's the same font, but with kerning added and the black outline
replaced with a translucent background.
2018-11-15 17:03:49 -06:00
Brandon Wright 7a64ed801d GTK+: Don't translate config file entries. 2018-11-14 14:51:39 -06:00
Brandon Wright a9adb88e25 GTK+: Remove doc directory. GTK+ port is now only Snes9x-licensed. 2018-11-13 19:17:30 -06:00
Brandon Wright 61cced4734 GTK+: Use root snes_ntsc implementation.
Implement scanlines there.
2018-11-12 16:51:21 -06:00
Brandon Wright 33d1840877 GTK+: Make Wayland support removable. 2018-11-09 16:20:00 -06:00
Brandon Wright ffdf886a0a GTK+: GL: Use PBOs by default, disable on GL < 1.5 2018-11-09 15:54:07 -06:00
Brandon Wright b6858adf11 GTK+: OpenGL: Only do this part on non-legacy. 2018-11-09 15:47:38 -06:00
Brandon Wright 21c1863782 GTK+: OpenGL: Allow legacy, no shader, paths. 2018-11-09 15:46:13 -06:00
Brandon Wright 3e87063780 GTK+: Mandate OpenGL on Wayland.
Warn users if their OpenGL stack is too old.
2018-11-09 14:55:33 -06:00
Brandon Wright e5aed9f8d5 Update 1.56.2 to 1.57 everywhere but appveyor. 2018-11-08 19:00:36 -06:00
Brandon Wright c878b35610 GTK+: OSS: Try /dev/dspN 1 through 9. 2018-11-08 15:12:47 -06:00
Brandon Wright 7ae93a539e GTK+: Save controller ports to config file. 2018-11-08 14:59:24 -06:00
Brandon Wright 8c7b326254 GTK+: Add hotkey to capture the mouse. 2018-11-08 14:23:37 -06:00
Brandon Wright af2df5869d GTK+: Remove goofy headerbar experiment. 2018-11-07 15:09:27 -06:00
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