Commit graph

133 commits

Author SHA1 Message Date
rdanbrook
4b6ff73fc6 FLTK: Fix compatiblity with FLTK 1.3 2024-09-30 19:55:20 -06:00
rdanbrook
39bc0dd2c0 FLTK: Fix fullscreen and resizing on Wayland with FLTK 1.4 2024-09-30 19:41:30 -06:00
Rupert Carmichael
3269cb4de6 jg: Allocate array for wav samples instead of using variable length array 2024-08-25 11:01:13 -04:00
Rupert Carmichael
431f95fccb fltkui: Additional copyright info 2024-08-23 14:20:20 -04:00
rdanbrook
bf14a2a56f FLTK: Rename audio input callback 2024-07-17 18:26:03 -06:00
rdanbrook
dc3813f197 FLTK: Modify render debug logs 2024-07-13 14:41:11 -06:00
rdanbrook
85bc0a957c FLTK: Add microphone support 2024-07-13 11:33:46 -06:00
rdanbrook
6230c6bf74 FLTK: Only set GL area mode explicitly on macOS 2024-07-12 21:39:22 -06:00
rdanbrook
3e4b2faba0 FLTK: Ensure ASCII key definitions are in scope in settings dialog 2024-07-10 17:43:43 -06:00
rdanbrook
0e9219046c FLTK: Improve the situation on macOS 2024-07-07 22:25:59 -06:00
rdanbrook
37ea967dee FLTK: Hook up support for iNES ROMs in .bin containers 2024-06-22 12:58:54 -06:00
rdanbrook
fc8bcee4b1 FLTK: Better CLI parsing, including selecting fullscreen mode from the CLI 2024-06-09 21:40:32 -06:00
rdanbrook
59cc0e8745 FLTK: Remove old CLI code 2024-06-09 20:40:16 -06:00
rdanbrook
a316c9b419 FLTK: Fix fragment shader log output 2024-06-08 22:17:17 -06:00
rdanbrook
6cb6f72fde FLTK: Make console log level a setting 2024-06-08 22:16:43 -06:00
rdanbrook
f93d65f8c5 FLTK: Make room for more settings 2024-06-08 21:58:11 -06:00
rdanbrook
d10be2127e FLTK: Add setting to start in fullscreen mode and fix Quit keyboard definition 2024-06-08 21:18:50 -06:00
rdanbrook
fc3b152ba8 FLTK: Show human-readable values for keyboard definitions in input config 2024-06-08 20:39:06 -06:00
rdanbrook
d36caf23ec FLTK: Allow pause hotkey to function 2024-06-07 23:39:59 -06:00
rdanbrook
cade634a7c FLTK: Add tooltip text to CRT settings 2024-06-07 22:37:05 -06:00
rdanbrook
ffa2faf241 FLTK: Remove vast swaths of unused code 2024-06-07 22:14:46 -06:00
rdanbrook
ac1e1995f1 FLTK: Reimplement screenshots 2024-06-07 19:48:21 -06:00
rdanbrook
e39fb91988 FLTK: Update to the latest version of lodepng 2024-06-07 17:57:29 -06:00
rdanbrook
c5a4b21e61 FLTK: Change default video settings 2024-06-05 21:50:17 -06:00
rdanbrook
44d577dfec FLTK: Add MMPX and OmniScale 2024-06-05 19:00:38 -06:00
rdanbrook
1c7ddbd96c FLTK: Change some wording in the interface settings 2024-06-04 23:39:11 -06:00
rdanbrook
5e35c73d21 FLTK: Simplify shader loading 2024-06-04 22:47:12 -06:00
rdanbrook
8cecf3db31 FLTK: Add drag and drop support 2024-06-04 17:37:53 -06:00
rdanbrook
b826d3d080 FLTK: Detect supported GL versions and fall back to legacy when necessary 2024-06-03 23:25:32 -06:00
rdanbrook
39431dfc09 FLTK: Move OSD log messages further from the left 2024-06-03 18:32:37 -06:00
rdanbrook
a5e85c480e FLTK: Actually add version.h to source control 2024-06-03 09:11:39 -06:00
rdanbrook
88d33a150a FLTK: Update modern GL uniforms when resizing 2024-06-02 11:46:40 -06:00
rdanbrook
188c8346f9 FLTK: Clean up main window and menu 2024-06-02 10:24:35 -06:00
rdanbrook
978366418b FLTK: Clean up Help->About 2024-06-01 21:55:03 -06:00
rdanbrook
249f1c22db FLTK: Add version.h 2024-06-01 21:43:21 -06:00
rdanbrook
0fe4aa5c80 FLTK: Fix aspect ratio and do special handling for overscan masking 2024-06-01 21:18:09 -06:00
rdanbrook
cde9cb7e41 FLTK: Sync to latest jg.cpp 2024-06-01 20:33:02 -06:00
rdanbrook
5763bb19ff FLTK: Add 5:4 aspect ratio 2024-05-31 21:24:00 -06:00
rdanbrook
2ba35ee0cf FLTK: Add a definition for Quit to input configuration 2024-05-31 21:05:21 -06:00
rdanbrook
0ab75febef FLTK: Modern GL renderer and shaders 2024-05-29 23:16:26 -06:00
rdanbrook
a500d95bac FLTK: Remove some unused code 2024-05-28 08:29:26 -06:00
rdanbrook
84371a9a20 FLTK: Centralize logging 2024-05-28 08:28:06 -06:00
rdanbrook
e82ad38035 FLTK: Add log driver 2024-05-27 23:31:46 -06:00
rdanbrook
412b78681c FLTK: Rewrite video code and do some random cleanup elsewhere 2024-05-27 23:05:10 -06:00
rdanbrook
ff32ec77d6 FLTK: Clean up main fltkui interface 2024-05-26 13:02:33 -06:00
rdanbrook
eee60f7a5c FLTK: Rewrite audio playback code 2024-05-25 07:06:03 -06:00
rdanbrook
fcb3976aaf FLTK: Handle some bugs exhibited when using GNOME 2024-05-19 21:54:34 -06:00
rdanbrook
0ad4790576 FLTK: Cheats reimplemented 2024-05-19 08:01:51 -06:00
rdanbrook
9b2f86dbb8 FLTK: Make sure to initialize member variable in JGManager 2024-05-17 14:25:15 -06:00
rdanbrook
b22f8a0d93 FLTK: Begin full rewrite
- The FLTK frontend is now based on Nestopia JG, which has been imported
  into the codebase and largely replaces the functionality previously
  contained in "nstcommon", as well as the old input system. This has
  effectively become a "Jolly Good API" frontend specific to Nestopia.

- Many new input devices are now supported, and can take both a
  keyboard/mouse and a joystick definition. This includes user interface
  functionality, such as fast forward, state saving, disk swapping, and
  resetting.

- USB joysticks/gamepads are now hot-pluggable

- The window is now freely resizable and adapts to the change by making
  the emulator output fill as much as possible while maintaining the
  selected aspect ratio.

- Settings are now separated by interface settings, emulator settings,
  and input definitions.

- General UI improvements have been done. The code is significantly
  cleaner and more flexible, with some user-facing improvements to the
  theme and menu system.

- This revision is still WIP. Some features or settings are either
  temporarily or permanently removed:
  - All audio related settings are gone, pending a rewrite of the audio
    output code in the frontend. PAL (50Hz) support is flaky.
  - Video filters have been removed, with the tentative plan to replace
    them with modern shaders.
  - Some NTSC filter fine tuning settings are not yet exposed in
    Nestopia JG
  - Some video settings (such as Hue/Saturation) are removed
  - NSF Playback is removed pending a replacement using FLTK widgets
  - The rewinder is disabled, with a tentative plan to replace it with
    a solution that is implemented entirely in the frontend.
  - Cheats are temporarily non-functional
2024-05-17 08:14:19 -06:00