BearOso
8f5afb1013
gtk: Initialize jd
2022-02-19 13:22:20 -06:00
bearoso
17e75b1469
Merge pull request #741 from jraby/gtk-joystick-hotplug
...
gtk: Support adding/removing joysticks at runtime
2022-02-19 13:20:38 -06:00
Jean Raby
65d41e7b37
joynums.fill(false);
2022-02-18 16:12:19 -05:00
Jean Raby
38b1e495ea
Move joystick + related functions under JoyDevices
2022-02-18 15:43:52 -05:00
Jean Raby
e1685b05eb
range-based for loops + simplify joynum assignment
2022-02-18 11:08:20 -05:00
Jean Raby
cdbf783fc4
gtk: Support adding/removing joysticks at runtime
...
Reworked how/where SDL events are polled:
- poll_joystick_events is now a static member of JoyDevice so it can be
called from outside when needed (preference window for config and
caliration).
- S9xProcessEvents calls JoyDevice::poll_joystick_events directly so
events are polled when no joysticks are attached.
- JoyDevice::poll_joystick_events handles SDL_JOYDEVICE{ADDED,REMOVED}
events.
- Individual JoyDevice no longer call poll_joystick_events from
get_events.
Reworked how attached joysticks are maintained in Snes9xConfig:
- Use a map for joysticks keyed on SDL JoystickID (instance id in sdl
parlance), which is stable while a joystick is attached instead of
an array keyed on device_index.
The instance id is what poll_joystick_events gets with every
event (except for SDL_JOYDEVICEADDED which gets a device_index...)
Instance id is an incrementing int starting from 0, they are never reused.
i.e. each attach/dettach/attach cycle yields a new id.
Whereas device index are reused and can "move".
- On SDL_JOYDEVICEADDED the joystick is handed a "joynum", that is, an
int from 0 to NUM_JOYPADS-1. A new joystick always get the lowest
available joynum.
(joynum was already a member of JoyDevice but wasn't initialized,
this seemed like a proper way to use it.)
- On SDL_JOYDEVICEREMOVED, the joystick associated with the instance
id is simply removed from the map.
All this allows for the following behaviors.
It is possible to start without any joystick, add one joystick and it works.
(disconnect/reconnect cycles with a single joystick also work)
Joystick numbers are "stable" while they remain connected. For example:
- Start with joystick0 and joystick1 connected
- if joystick0 is disconnected, joystick1 keeps its number and keeps
working
- if joystick0 (or any new joystick) is connected at this time,
it gets to become joystick0
If all joysticks are disconnected while snes9x is running, the order of
the "reconnections" will determine the joystick number of each joystick.
I think there is room for improvement still, with regards to code
organization. For instance, there could be a "JoyDevices" class which
would handle all the attached JoyDevice. This would allow moving all the
"joystick_*" methods from Snes9xConfig to that new class, and
poll_joystick_events could also be moved there.
The functionality wouldn't change, but the intent/ownership would probably be clearer.
2022-02-17 11:02:53 -05:00
Jean Raby
e6118290e2
gtk: Simplify S9xOpenSnapshotFile
...
This is basically what osx and libretro do, just use the provided
filename.
The code this replaces had a hard time handling relative paths,
it would prepend the leading directories to fname, which would
most of the time resolve to an invalid path.
(e.g ./roms/romname.000 -> ./roms/roms/romname.000)
2022-02-13 21:57:58 -05:00
Jean Raby
c81d3baca1
gtk: save_state_dialog - use filename without dir
2022-02-13 21:56:42 -05:00
BearOso
d4cec8eb2a
Gtk: Wayland: Use older wayland API for compatibility.
2022-01-31 16:56:17 -06:00
BearOso
da23559f2f
Gtk: Add wayland-client as wayland dep.
2022-01-31 16:32:27 -06:00
BearOso
f56b1e7668
Gtk: Wayland: Add idle inhibitor.
2022-01-30 21:23:33 -06:00
BearOso
c8ffda83e7
Gtk: Set default background to starfield.
2022-01-30 18:34:51 -06:00
BearOso
eb2c993a91
Update version and copyright for 1.61.
2022-01-30 17:52:50 -06:00
BearOso
34b6160805
pulseaudio: Fix potential stall with Pipewire
...
Pipewire allows very small buffer sizes. It's possible that Snes9x
will accumulate enough samples in fast-forward to exceed this.
Instead of waiting forever for the buffer capacity to free up, just
write the number of samples for the free space after one small wait.
2021-12-20 12:21:43 -06:00
BearOso
cf2d1bf791
Gtk: OpenGL: Fix non-PBO output path.
2021-05-15 11:23:12 -05:00
BearOso
da4bd2a018
Gtk: Make sound driver check a little simpler.
2021-05-15 11:23:12 -05:00
BearOso
364aa1ba5d
Gtk: OpenGL: Use correct screen for fbconfig.
2020-11-04 13:11:28 -06:00
BearOso
77fb6ff958
Gtk: Unthread preferences creation.
2020-11-04 12:55:25 -06:00
BearOso
2bab4c41b1
Revert "Gtk: OpenGL: Try to ensure window is mapped."
...
This reverts commit c4a269b32a
.
2020-11-04 12:54:44 -06:00
BearOso
b4de90a0f1
Revert "Gtk: Reorder init."
...
This reverts commit a9a9b0fafb
.
2020-11-04 12:41:55 -06:00
BearOso
a9a9b0fafb
Gtk: Reorder init.
...
This should give the window time to create, and we ensure Gtk
has a main loop iteration so it's done.
2020-11-04 12:10:30 -06:00
BearOso
c4a269b32a
Gtk: OpenGL: Try to ensure window is mapped.
2020-11-04 12:03:28 -06:00
BearOso
c283df610c
Fix misspelling.
...
Complement, not compliment.
2020-11-03 10:28:01 -06:00
BearOso
bb622bdf5b
Add a compat.cpp file for compatibility symbols.
2020-09-07 10:57:17 -05:00
BearOso
2fc8b40e0e
Gtk: Fix '&' in rom info dialog.
2020-08-24 14:21:24 -05:00
BearOso
6d1d0ab121
Gtk: Still use theme icon if available.
2020-08-23 17:47:27 -05:00
BearOso
4c3d043880
Gtk: Update built-in mini-icon.
2020-08-23 17:46:25 -05:00
BearOso
1fc5a2d4d6
Gtk: Fix crash when no icon is found.
2020-08-23 17:17:55 -05:00
BearOso
95c7fdad1f
Gtk: Thread preferences creation.
2020-08-23 16:28:01 -05:00
BearOso
a3c0c4621d
Gtk: Don't pass arguments to gtkmm application.
...
It tries to usurp the filename argument.
2020-08-09 14:28:20 -05:00
BearOso
03d3f69a0c
Gtk: Shaders: Use our copy of glslang headers
...
Add include to compiler command to prevent use of system headers.
2020-08-08 12:01:10 -05:00
BearOso
e705e71a97
Remove S9xChooseMovieFilename
...
This is integration of the frontend with the core. Disable
the button mappings that use it. The frontend should implement on
its own.
2020-08-07 14:08:51 -05:00
BearOso
f04f1bbe44
Remove S9xChooseFilename
...
This is integration of the frontend with the core. Disable
the snapshot button mappings that use it. Any frontend should
implement those port commands its own.
2020-08-07 14:08:51 -05:00
BearOso
063b3a959c
Move _splitpath and _makepath into core.
2020-08-07 14:08:51 -05:00
BearOso
e322bbf109
Remove S9xSetPalette
2020-08-07 14:08:51 -05:00
BearOso
bdd061847e
Gtk: Fix recent menu. Add game name to title.
2020-07-30 18:24:54 -05:00
BearOso
6e9cfce6f1
Gtk/Shaders: Use embedded copy of glslang.
2020-07-29 18:32:46 -05:00
Brandon Wright
fd88971598
Gtk: Don't expand shader parameter widgets.
2020-07-27 17:58:03 -05:00
Brandon Wright
a20e726ca2
Gtk: Add gthread library dependency.
2020-07-21 14:17:15 -05:00
Keith Bowes
edb4866671
Indicate Meson version
2020-07-21 13:49:13 -04:00
Brandon Wright
e17ff69533
Gtk: Switch codebase to gtkmm.
...
GTK: Remove support for GTK+ 2.0.
GTK 3 is stable and widespread enough now.
GTK: Rearrange headers to eliminate gtk_s9xcore.h
Gtk: Initial gtkmm conversion work.
Gtk: More gtkmm conversion and bug fixing.
Gtk: More gtkmm fixes.
Gtk: More Fixes
OpenGL no longer creates a second window.
Accelerators are fixed.
Gtk: More fixes
Removed GLX context dependency on Gtk.
Gtk: Fix formatting.
Gtk: Remove a #pragma once
2020-07-17 14:48:34 -05:00
Brandon Wright
3c3ea985ef
GTK: Refactoring of display output code.
...
Moves buffer management to single location.
2020-06-30 17:28:10 -05:00
bearoso
341a6c7aea
Merge pull request #636 from LinRs/zh_CN
...
GTK: Add Simplified Chinese translations
2020-06-30 14:14:46 -05:00
bearoso
fd558dbd05
Merge branch 'master' into master
2020-06-30 14:13:50 -05:00
Brandon Wright
0f0914cca5
GTK: Config code cleanup.
2020-06-21 15:25:54 -05:00
AlexApps99
9e91d9d8ae
Fixed sound playing while in turbo after pause
...
(this may break other aspects of audio around pausing)
2020-06-21 22:02:08 +12:00
AlexApps99
4f3e6681ef
Added rewind to turbo mute
2020-06-21 21:46:27 +12:00
Brandon Wright
5c3fbf6740
Fix some warnings.
...
Removed sstrncpy function.
Changed bindings in GTK port to std::array and fixed packing nonsense.
2020-06-20 10:44:11 -05:00
Pablo Lezaeta Reyes
bbdc7e2f21
Update Spanish Translation
...
Signed-off-by: Pablo Lezaeta Reyes <jota@Jota-PC.localdomain>
2020-06-12 02:51:13 -04:00
pablo Lezaeta Reyes
d607c1e38d
Update translations [placeholder]
...
Signed-off-by: pablo Lezaeta Reyes <jota@Jota-PC.localdomain>
2020-06-12 02:39:28 -04:00
LinRs
abfa59945d
GTK: Add Simplified Chinese translations
2020-03-04 21:48:00 +08:00
Kirill Isakov
537fe6c637
Fix SPIRV linking error on Ubuntu/Debian
2019-12-15 21:57:52 +06:00
Dan Church
c5bd183b2b
Fix GCC unused function/variable warnings
2019-11-14 10:39:02 -06:00
Brandon Wright
a6e423a413
GTK: Allow SPIRV includes in glslang directory.
...
Fixes build for Arch Linux's glslang package.
2019-11-12 16:22:34 -06:00
Brandon Wright
0258422be8
GTK: Oops. Add particle files.
2019-11-10 12:46:40 -06:00
Brandon Wright
19f7423f42
GTK: Add a couple animated background splashes.
2019-11-08 17:05:36 -06:00
Brandon Wright
00da664a60
GTK: Don't change config directory mode every time.
...
This triggers something laggy in GNOME environment.
2019-10-10 18:50:36 -05:00
Brandon Wright
ee6463a30f
GTK: Pass a burst phase to Blargg NTSC blitter.
...
It's supposed to alternate 0, 1, 2.
2019-09-14 19:52:35 -05:00
Brandon Wright
2971fbb39b
GTK: Remove particle build definitions.
2019-09-08 15:19:15 -05:00
Brandon Wright
3c24e57105
GTK: Include copy of default glslang resources.
2019-09-08 15:16:55 -05:00
bearoso
491f57ca92
GTK: Add missing change from copy-paste.
2019-09-08 13:43:09 -05:00
Brandon Wright
673896f7aa
GTK: Xv: Add a couple of error checks.
2019-09-08 12:45:18 -05:00
Brandon Wright
3b09fbacaf
GTK: Work around static system glslang.
...
glslang-default-resource-limits is built into glslang.a in those cases.
2019-09-08 12:30:28 -05:00
Pablo Lezaeta
254a70cd94
Update translations
...
Signed-off-by: Pablo Lezaeta <prflr88@gmail.com>
2019-07-17 17:45:40 -04:00
Brandon Wright
4a8e6f204a
gtk: Add explanation to both includes.
2019-07-16 11:21:58 -05:00
Brandon Wright
c3388602bb
gtk: Undef vector and bool after SDL.h
2019-07-16 11:16:10 -05:00
bearoso
bf4e6f8b62
Merge pull request #523 from yoffy/unmacro-tile
...
Unmacro tile.cpp
2019-06-26 16:46:12 -05:00
Brandon Wright
6fbdb48c6f
GTK: Tweak onscreen 'g' a bit.
2019-06-26 16:42:30 -05:00
Brandon Wright
1580c5f00f
GTK: Add explicit operator= to binding
...
Silences a new warning in GCC 9. implicit operator= is now
deprecated.
2019-06-19 12:15:36 -05:00
Brandon Wright
721abf510c
GTK: Silence meson warning.
2019-06-19 12:13:41 -05:00
Brandon Wright
cb7602263f
GTK: Fix a label alignment.
2019-05-31 14:53:21 -05:00
Brandon Wright
f8a0fadfa1
GTK: Use C++ memory allocation.
2019-05-14 15:34:25 -05:00
Brandon Wright
124594d220
GTK: Use a struct for S9xApplyAspect output.
...
Reusing the parameters is likely confusing.
2019-05-14 14:59:51 -05:00
Brandon Wright
9a1d3eccfc
GTK: Fix positioning, label detail.
2019-05-12 09:56:23 -05:00
Taimoor Ahmad
f3da1c9496
Add show time option to GTK UI. It is disabled by default.
2019-05-11 23:30:10 -04:00
Taimoor Ahmad
d16c9775a9
Only show if DisplayTime is enabled in settings
2019-05-11 23:24:17 -04:00
Kenta Yoshimura
84f32cdca2
Fix build failure on gtk.
2019-05-07 23:15:06 +09:00
Brandon Wright
993ffed6a3
GTK: Tweak spin button widths.
2019-04-20 15:55:43 -05:00
Brandon Wright
086f6d746e
GTK: Update strings.
2019-04-16 15:46:06 -05:00
Brandon Wright
7dc9ba8215
GTK: Invert invalid vram access checkbox.
2019-04-16 15:41:04 -05:00
Brandon Wright
9c733497fe
GTK: Allow shutting off button and menu icons.
2019-04-16 11:47:35 -05:00
Brandon Wright
85326c8daf
GTK: Update strings. Translate some español.
2019-04-13 16:28:42 -05:00
Brandon Wright
a820272191
GTK: Save echo buffer hack value.
...
Sanitize overclock settings when UI doesn't make them available.
2019-04-13 15:54:41 -05:00
Brandon Wright
c3bc6fff87
GTK: Add configurable initial background.
2019-04-13 15:47:01 -05:00
Brandon Wright
e170bf66ca
GTK: Add the hacks to UI.
2019-04-13 15:25:55 -05:00
Brandon Wright
f70e072bd9
Revert to higher APU clock.
2019-04-12 12:10:51 -05:00
Brandon Wright
b590ec10ab
GTK: Use "Auto-patched" to clarify.
2019-04-10 14:51:01 -05:00
Brandon Wright
ac4d458f7b
Add Settings.IsPatched to know if ROM was patched.
2019-04-10 14:43:20 -05:00
Brandon Wright
0d4bcb55bc
GTK: Fix up PortAudio output a bit.
2019-04-03 19:23:54 -05:00
Brandon Wright
51edec756f
GTK: OpenGL: Don't spin with sync_control option.
2019-04-01 17:10:12 -05:00
Brandon Wright
656f085331
Another splash option.
2019-03-25 16:16:08 -05:00
Brandon Wright
0deed414b9
GTK: Remove mostly unused status bar.
...
Don't bypass compositor in UI-fullscreen mode.
2019-03-24 12:25:29 -05:00
Brandon Wright
54ba8798b5
GTK: Add right-click menu.
2019-03-22 16:51:48 -05:00
Brandon Wright
83505d88c2
GTK: Fix broken keys.
2019-03-22 11:59:50 -05:00
Brandon Wright
bdf0e426e0
GTK: Allow one key for multi joypad assignments.
...
Lets you do stuff like Chrono Trigger L+R+A or all punch buttons in
fighting games.
2019-03-21 17:54:27 -05:00
Brandon Wright
dfe66f57b3
GTK: Add new splash background options.
2019-03-21 16:37:00 -05:00
Brandon Wright
cc1f6de281
GTK: Yes, we want button and menu images.
2019-03-20 11:54:16 -05:00
Brandon Wright
0306b68d2a
GTK: Add some translation strings I missed.
2019-03-17 16:30:58 -05:00
Brandon Wright
e722a192e2
Merge branch 'master' of github.com:snes9xgit/snes9x
2019-03-17 16:10:36 -05:00
Pablo Lezaeta
80ed21b6e8
Update Spanish translation
2019-03-17 03:43:40 -03:00
Brandon Wright
4f0cc90525
GTK: Update splash background.
2019-03-16 13:45:38 -05:00
Brandon Wright
65c5995436
Update version number and start changelog.
2019-03-13 17:40:51 -05:00
Brandon Wright
7dde81a77d
GTK:OpenGL: Remove fences variable.
2019-03-06 11:10:06 -06:00
Brandon Wright
958a5d47db
GTK: Fix clang-format thinking it's so smart.
2019-03-02 16:21:44 -06:00
Brandon Wright
92f2a9510f
GTK: In mouse-grab mode, accumulate partial pixels.
2019-03-02 16:10:00 -06:00
Brandon Wright
7b310a0cf4
GTK: Swap glFenceSync for sync control extension.
2019-03-02 15:25:59 -06:00
Brandon Wright
70484ba612
GTK: Fix xBRZ scaler when multithreading enabled.
2019-03-01 19:57:38 -06:00
Brandon Wright
712c979771
GTK: Add icons to key bindings to clear entry.
2019-02-28 21:03:46 -06:00
Brandon Wright
ab1fa8d360
Update version to 1.59.2.
2019-02-27 20:36:00 -06:00
Brandon Wright
fc4f476414
Bump version number to 1.59.1.
2019-02-27 19:02:56 -06:00
Brandon Wright
ef70758053
GTK: Use actual NTSC frame time.
2019-02-27 13:55:19 -06:00
Brandon Wright
f2069e8af9
Remove extra parameter from S9xInitSound
...
Explain disabling USE_SLANG in how2compile.txt
2019-02-27 11:02:22 -06:00
Brandon Wright
a277eddd33
GTK: Add note how to generate .po files
...
Update .po files with latest strings.
2019-02-26 16:43:35 -06:00
Brandon Wright
993f6ef927
Update some documents.
2019-02-26 16:36:05 -06:00
Brandon Wright
9146f07bc6
GTK: Add gtk_shader_parameters.cpp to POTFILES.in
2019-02-26 15:31:48 -06:00
Brandon Wright
509e820324
GTK: Remove no longer true stagement.
2019-02-25 18:06:24 -06:00
Brandon Wright
4bd0fd5bf7
GTK: Use system DefaultTBuiltInResource.
2019-02-22 10:57:45 -06:00
Brandon Wright
3469bd86eb
GTK: Clarify how to get SPIRV-Cross.
2019-02-20 17:16:24 -06:00
Brandon Wright
0c7e9ebe88
GTK: Update strings in .po files.
2019-02-20 16:30:29 -06:00
Brandon Wright
aaadcf820f
Bump version number and copyright date.
2019-02-20 16:25:56 -06:00
Brandon Wright
9c120fe3bf
Adjust default input rate, too.
2019-02-19 17:54:57 -06:00
Brandon Wright
aa867abcd3
Use nominal frequency ratio for APU.
2019-02-19 17:50:25 -06:00
Brandon Wright
6757f93830
Snes9x, not Snes9X
...
Win32 title will display "ROM base name - Snes9x"
2019-02-18 15:15:28 -06:00
Brandon Wright
191b82f14d
GTK: Break display settings into tabs.
2019-02-17 20:55:59 -06:00
Brandon Wright
1d57e214b3
GTK/Unix: Consistent default playback rate.
2019-02-15 13:06:25 -06:00
Brandon Wright
2164c86158
Remove S9xFinalizeSamples.
2019-02-12 18:27:33 -06:00
bearoso
1ba69b0d9c
Merge pull request #491 from snes9xgit/apurefactor
...
APU Refactor
2019-02-12 16:11:07 -06:00
Brandon Wright
be52994d01
GTK: Audio tweaks:
...
Be more intelligent about usleep times.
Use ALSA's blocking mode to wait.
2019-02-12 12:00:03 -06:00
Brandon Wright
b54ded7081
GTK: SDL sound driver fixed.
2019-02-09 19:18:45 -06:00
Brandon Wright
2ba6553c14
GTK: SoundSync is now handled in the drivers.
2019-02-09 18:48:17 -06:00
Brandon Wright
f65b876382
GTK: Fix reading of direct modifiers from config.
2019-02-09 10:16:27 -06:00
Brandon Wright
dd4614dada
GTK+: GL: Trap X11 errors on context creation.
2019-02-07 15:05:09 -06:00
Brandon Wright
5b4ca50792
GTK+: Strip out extra sound code.
...
No more Stereo, 16-bit or Reverse options.
2019-02-06 19:41:33 -06:00
Brandon Wright
2701e7219c
Get SoundSync working and don't overflow dsp buffer.
2019-02-06 15:00:45 -06:00
Brandon Wright
9994023f09
Allow use of Snes9x-side buffer if needed.
2019-02-05 19:56:59 -06:00
Brandon Wright
c376908f2e
Revert "Revert "APU: Big refactor." I'll put this in a branch."
...
This reverts commit 19f03c44de
.
2019-02-05 17:21:23 -06:00
Brandon Wright
19f03c44de
Revert "APU: Big refactor." I'll put this in a branch.
...
This reverts commit aebfc85cdf
.
2019-02-05 17:20:23 -06:00
Brandon Wright
aebfc85cdf
APU: Big refactor.
...
Remove 8-bit, Mono, and Reverse Stereo options.
2019-02-05 16:26:22 -06:00
Brandon Wright
2f646879d3
GTK+: Tweak onscreen font a bit.
2019-02-04 14:13:00 -06:00
Brandon Wright
0cb166862f
GTK+: Add things to shader parameters dialog:
...
Spin buttons next to sliders for precise control.
Save as box to save a new preset.
2019-01-31 16:33:17 -06:00
Brandon Wright
c9f66cf910
GTK+: matches only compared joystick bindings.
2019-01-30 17:55:22 -06:00
Brandon Wright
c1feada6d7
GTK+: Don't save single pass slang as glslp.
2019-01-26 17:56:53 -06:00
Brandon Wright
02be8ba1f2
Shaders: Add support for grayscale PNGs
...
GTK+: Fix invalid texture clear.
2019-01-25 20:01:52 -06:00
Brandon Wright
61f5141bcc
Sizes were backwards.
...
GTK+: Fix .slangp custom extension.
2019-01-25 17:54:55 -06:00
Brandon Wright
a3065c10b0
GTK+: slang: Notify if SPIRV-Cross submodule is missing.
2019-01-25 16:56:17 -06:00
Brandon Wright
eefb06a8d4
GTK+: slang: Make support autodetect by default.
2019-01-25 14:13:05 -06:00
Brandon Wright
01f4fed8b5
Slang shader support.
2019-01-25 13:28:24 -06:00
Brandon Wright
30c50f4fc4
GTK+: Fix key bindings with spaces.
2019-01-24 15:39:57 -06:00
Brandon Wright
848bb64d52
GTK+: OpenGL: Fix obvious thinko with last commit.
2019-01-17 17:08:38 -06:00
Brandon Wright
175b9baf64
GTK+: OpenGL: Use MapBufferRange on GL >= 3.0.
2019-01-17 16:51:13 -06:00