Commit Graph

36 Commits

Author SHA1 Message Date
a39937aeb2
[GTK3] Rename vram_viewer.* to vram_viewer_window.* 2020-05-19 02:33:26 +02:00
f74b1cd3d9
[GTK3] Improve VRAM viewer performance
– Fixed `g_idle_add`ed functions not returning `false` to signal that they are done and don’t want to get called again automatically
– Fixed memory leaks: `gtk_list_store_insert_with_values` *copies* string arguments and doesn’t take ownership
– Monospaced numeric values in the status bar and palette viewer
2020-05-19 02:33:26 +02:00
825786210a
[GTK3] Convert VRAM viewer into proper GTK widget 2020-05-19 02:33:26 +02:00
1d7034fb88
[GTK3] Add GtkRadioMenuItems 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
add54953c6
[GTK3] Start menu migration from GtkUiManager to GtkBuilder 2020-05-19 02:33:25 +02:00
008db16fb5
[GTK3] Disable rumble for the WUP-028 for now 2020-05-19 02:33:24 +02:00
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
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
4075a13b61
[GTK3] Enable SDL2 HIPAPI controllers 2020-05-19 02:33:24 +02:00
c00946ea2e
[GTK3] Implement the app.close action 2020-05-19 02:33:23 +02:00
9b360ef292
[GTK3] Add DMG color palettes 2020-05-19 02:33:23 +02:00
836cb024b5
[GTK3] Add the MonoLCD shader to the selection 2020-05-19 02:33:23 +02:00
b142227577
[GTK3] Implement the new SGB border options 2020-05-19 02:33:23 +02:00
53934aedec
[GTK3] Add the new frame blending modes to the GUI 2020-05-19 02:33:23 +02:00
8f9d24c1e8
[GTK3] Implement debugger console sidebar 2020-05-19 02:33:23 +02:00
9224b3f2ac
[GTK3] Convert to structured logging 2020-05-19 02:33:22 +02:00
6a9ca41970
[GTK3] Allow switching the emulated model 2020-05-19 02:33:22 +02:00
df9189448d
[GTK3] Implement more menu handlers
Also fix some memory leaks.
2020-05-19 02:33:22 +02:00
10ac1bd0a5
[GTK3] Implement basic debug console (no sidebar) 2020-05-19 02:33:22 +02:00
e1a1c3efbd
[GTK3] Use SDL2 for audio and (hardcoded) controllers 2020-05-19 02:33:22 +02:00
ba82da5f49
[GTK3] Implement VRAM tile information on hover 2020-05-19 02:33:22 +02:00
94e1b397ca
[GTK3] Implement palette viewer 2020-05-19 02:33:21 +02:00
36299d124a
[GTK3] Implement sprite viewer 2020-05-19 02:33:21 +02:00
bf2dc12fb9
[GTK3] Handle VRAM viewer tilemap and -set options 2020-05-19 02:33:21 +02:00
0b3ad8bcfd
[GTK3] Make VRAM viewer button bar slimmer 2020-05-19 02:33:21 +02:00
3de0d8fb6a
[GTK3] Automatic resizing of the VRAM viewer 2020-05-19 02:33:21 +02:00
cf0bfc6076
[GTK3] Implement tilemap scrolling rect 2020-05-19 02:33:21 +02:00
a032722e84
[GTK3] Add function to draw grids in VRAM viewer 2020-05-19 02:33:21 +02:00
8d0526fd1f
[GTK3] Add main.h and re-order main.c 2020-05-19 02:33:20 +02:00
023d43e893
[GTK3] More work on preferences done 2020-05-19 02:33:20 +02:00
1f7cd57df8
[GTK3] Prototype rendering of tilemap and tileset 2020-05-19 02:33:19 +02:00
959f0cc88e
[GTK3] Load/save settings from/to file 2020-05-19 02:33:19 +02:00
d6a1555290
[GTK3] Add model and boot ROM CLI overrides 2020-05-19 02:33:19 +02:00
6e65945c35
[GTK3] Use frame buffering like the Cocoa frontend 2020-05-19 02:33:19 +02:00
4d4d272a5c
[GTK3] Implement OpenGL renderer prototype 2020-05-19 02:33:19 +02:00
bba05ac5b9
[GTK3] Add UI skeleton 2020-05-19 02:33:19 +02:00