Commit Graph

33 Commits

Author SHA1 Message Date
Maximilian Mader 1d7034fb88
[GTK3] Add `GtkRadioMenuItem`s at runtime
Defining them in the UI definition file was buggy in Unity
and MATE (Mutiny layout). Somehow creating them manually
via the API works around that bug.

The only problem is that Unity fails to update the
marker for the active menu item on the *first* click.
It then lags one item update behind, i.e.
1) CGB is active
2) Click on AGB, CGB is still rendered as active
3) Click on any (including AGB) of the options, now AGB is rendered as active

Also: The Gnome 3 style hamburger menu has been removed.
2020-05-19 02:33:25 +02:00
Maximilian Mader add54953c6
[GTK3] Start menu migration from GtkUiManager to GtkBuilder 2020-05-19 02:33:25 +02:00
Maximilian Mader 008db16fb5
[GTK3] Disable rumble for the WUP-028 for now 2020-05-19 02:33:24 +02:00
Maximilian Mader b6c949fa82
[GTK3] Add rumble mode setting
Also we now fall back to SDL_GameControllerRumble if a controller
doesn’t support the haptic feedback API.
This still poses problems with the WUP-028 but for now cou can disable
rumble completely if you want to use this controller adapter.
2020-05-19 02:33:24 +02:00
Maximilian Mader 3fe57f976c
[GTK3] Implement rumble for controller one
Now we store references to all initialized controllers but
use only controller #0 for now.
2020-05-19 02:33:24 +02:00
Maximilian Mader 4075a13b61
[GTK3] Enable SDL2 HIPAPI controllers 2020-05-19 02:33:24 +02:00
Maximilian Mader c00946ea2e
[GTK3] Implement the app.close action 2020-05-19 02:33:23 +02:00
Maximilian Mader 9b360ef292
[GTK3] Add DMG color palettes 2020-05-19 02:33:23 +02:00
Maximilian Mader 836cb024b5
[GTK3] Add the MonoLCD shader to the selection 2020-05-19 02:33:23 +02:00
Maximilian Mader b142227577
[GTK3] Implement the new SGB border options 2020-05-19 02:33:23 +02:00
Maximilian Mader 53934aedec
[GTK3] Add the new frame blending modes to the GUI 2020-05-19 02:33:23 +02:00
Maximilian Mader 8f9d24c1e8
[GTK3] Implement debugger console sidebar 2020-05-19 02:33:23 +02:00
Maximilian Mader 9224b3f2ac
[GTK3] Convert to structured logging 2020-05-19 02:33:22 +02:00
Maximilian Mader 6a9ca41970
[GTK3] Allow switching the emulated model 2020-05-19 02:33:22 +02:00
Maximilian Mader df9189448d
[GTK3] Implement more menu handlers
Also fix some memory leaks.
2020-05-19 02:33:22 +02:00
Maximilian Mader 10ac1bd0a5
[GTK3] Implement basic debug console (no sidebar) 2020-05-19 02:33:22 +02:00
Maximilian Mader e1a1c3efbd
[GTK3] Use SDL2 for audio and (hardcoded) controllers 2020-05-19 02:33:22 +02:00
Maximilian Mader ba82da5f49
[GTK3] Implement VRAM tile information on hover 2020-05-19 02:33:22 +02:00
Maximilian Mader 94e1b397ca
[GTK3] Implement palette viewer 2020-05-19 02:33:21 +02:00
Maximilian Mader 36299d124a
[GTK3] Implement sprite viewer 2020-05-19 02:33:21 +02:00
Maximilian Mader bf2dc12fb9
[GTK3] Handle VRAM viewer tilemap and -set options 2020-05-19 02:33:21 +02:00
Maximilian Mader 0b3ad8bcfd
[GTK3] Make VRAM viewer button bar slimmer 2020-05-19 02:33:21 +02:00
Maximilian Mader 3de0d8fb6a
[GTK3] Automatic resizing of the VRAM viewer 2020-05-19 02:33:21 +02:00
Maximilian Mader cf0bfc6076
[GTK3] Implement tilemap scrolling rect 2020-05-19 02:33:21 +02:00
Maximilian Mader a032722e84
[GTK3] Add function to draw grids in VRAM viewer 2020-05-19 02:33:21 +02:00
Maximilian Mader 8d0526fd1f
[GTK3] Add main.h and re-order main.c 2020-05-19 02:33:20 +02:00
Maximilian Mader 023d43e893
[GTK3] More work on preferences done 2020-05-19 02:33:20 +02:00
Maximilian Mader 1f7cd57df8
[GTK3] Prototype rendering of tilemap and tileset 2020-05-19 02:33:19 +02:00
Maximilian Mader 959f0cc88e
[GTK3] Load/save settings from/to file 2020-05-19 02:33:19 +02:00
Maximilian Mader d6a1555290
[GTK3] Add model and boot ROM CLI overrides 2020-05-19 02:33:19 +02:00
Maximilian Mader 6e65945c35
[GTK3] Use frame buffering like the Cocoa frontend 2020-05-19 02:33:19 +02:00
Maximilian Mader 4d4d272a5c
[GTK3] Implement OpenGL renderer prototype 2020-05-19 02:33:19 +02:00
Maximilian Mader bba05ac5b9
[GTK3] Add UI skeleton 2020-05-19 02:33:19 +02:00