337f396eff
[GTK3] Use GtkGLArea render event in GbScreen
2020-05-19 18:20:12 +02:00
d63560d3c1
[GTK3] Implement GbScreen widget for rendering
2020-05-19 02:33:26 +02:00
a39937aeb2
[GTK3] Rename vram_viewer.* to vram_viewer_window.*
2020-05-19 02:33:26 +02:00
7ce7c8c404
[GTK3] Add vram_viewer_finalize(), fix scroll rect, fix no-gl fallback
2020-05-19 02:33:26 +02:00
6a15ff582e
[GTK3] Add vram_viewer_clear()
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
accaedbdac
[GTK3] Move some functions into util.c
2020-05-19 02:33:26 +02:00
7dbd0e18f9
[GTK3] Rename settings.c to config.c
2020-05-19 02:33:26 +02:00
7e9ebde585
[GTK3] Fix compilation on GLib pre 2.62
2020-05-19 02:33:26 +02:00
45e62a2f26
[GTK3] Use an abstraction over GtkCheckMenuItem instead of GtkRadioMenuItem
2020-05-19 02:33:25 +02:00
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
add54953c6
[GTK3] Start menu migration from GtkUiManager to GtkBuilder
2020-05-19 02:33:25 +02:00
6ea36bbc39
[GTK3] Check if config changed before saving
...
This uses the file modification date and opens a choice dialog if
the date has changed since.
2020-05-19 02:33:25 +02:00
f6838a901c
[GTK3] Persist “mute sound” state in config
2020-05-19 02:33:25 +02:00
bdb22e7034
[GTK3] Save selected model family
2020-05-19 02:33:25 +02:00
2887110e99
[GTK3] Restructure config_t by using sub structs
2020-05-19 02:33:25 +02:00
116ea7d0d7
[GTK3] Improve analog speed controls a bit
2020-05-19 02:33:25 +02:00
f7beeb9c98
[GTK3] Add "no-gl" CLI option
2020-05-19 02:33:25 +02:00
f46d35528b
[GTK3] Prevent startup crash on Wayland sessions
2020-05-19 02:33:25 +02:00
65fe7f2f9c
[GTK3] Add analog speed controls
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
8c3154a061
[GTK3] Accept input from all connected controllers
...
Rumble will be used on the most recently used controller.
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
4042b7f38c
[GTK3] Make keyboard inputs less hardcoded
...
The mapping is now saved in a modifiable array
instead of being hardcoded into a switch-case
statement.
2020-05-19 02:33:24 +02:00
4075a13b61
[GTK3] Enable SDL2 HIPAPI controllers
2020-05-19 02:33:24 +02:00
4ac7c0dd0d
[GTK3] Add GB_debugger_load_symbol_file_from_buffer
...
Now we don’t have to rely on GB_INTERNAL anymore.
2020-05-19 02:33:24 +02:00
6594edf1bf
[GTK3] Load and save ROM specific files
...
We now handle loading and saving of:
– Save files
– Cheats files
– Symbol files
2020-05-19 02:33:24 +02:00
89080ef47e
[GTK3] Move loose state variables into GuiData struct
2020-05-19 02:33:24 +02:00
a08e1d1c83
[GTK3] Get rid of main.h
2020-05-19 02:33:24 +02:00
8780aafe99
[GTK3] Use the audio abstraction of the SDL UI
2020-05-19 02:33:23 +02:00
15d949e338
[GTK3] Try to reset VRAM viewer when closing a ROM
2020-05-19 02:33:23 +02:00
c00946ea2e
[GTK3] Implement the app.close action
2020-05-19 02:33:23 +02:00
e42d16290d
[GTK3] Implement ROM loading from open file dialog
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
5b79094293
[GTK3] Make use of GB_set_boot_rom_load_callback
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
16c040d2d2
[GTK3] Clear sidebar in async input requests
2020-05-19 02:33:23 +02:00
8f9d24c1e8
[GTK3] Implement debugger console sidebar
2020-05-19 02:33:23 +02:00
b428995126
[GTK3] Reflect CLI model override in GUI
2020-05-19 02:33:22 +02:00
a53d7f1e92
[GTK3] Add debug console prompt
2020-05-19 02:33:22 +02:00
29ce04ff8a
[GTK3] Move &gb accesses on vblank to emu thread
2020-05-19 02:33:22 +02:00
a1b464bd23
[GTK3] Implement rewind, turbo and slow-motion
2020-05-19 02:33:22 +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