Maximilian Mader
825786210a
[GTK3] Convert VRAM viewer into proper GTK widget
2020-05-19 02:33:26 +02:00
Maximilian Mader
accaedbdac
[GTK3] Move some functions into util.c
2020-05-19 02:33:26 +02:00
Maximilian Mader
7dbd0e18f9
[GTK3] Rename settings.c to config.c
2020-05-19 02:33:26 +02:00
Maximilian Mader
7e9ebde585
[GTK3] Fix compilation on GLib pre 2.62
2020-05-19 02:33:26 +02:00
Maximilian Mader
45e62a2f26
[GTK3] Use an abstraction over GtkCheckMenuItem instead of GtkRadioMenuItem
2020-05-19 02:33:25 +02:00
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
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
Maximilian Mader
f6838a901c
[GTK3] Persist “mute sound” state in config
2020-05-19 02:33:25 +02:00
Maximilian Mader
bdb22e7034
[GTK3] Save selected model family
2020-05-19 02:33:25 +02:00
Maximilian Mader
2887110e99
[GTK3] Restructure config_t by using sub structs
2020-05-19 02:33:25 +02:00
Maximilian Mader
116ea7d0d7
[GTK3] Improve analog speed controls a bit
2020-05-19 02:33:25 +02:00
Maximilian Mader
f7beeb9c98
[GTK3] Add "no-gl" CLI option
2020-05-19 02:33:25 +02:00
Maximilian Mader
f46d35528b
[GTK3] Prevent startup crash on Wayland sessions
2020-05-19 02:33:25 +02:00
Maximilian Mader
65fe7f2f9c
[GTK3] Add analog speed controls
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
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
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
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
Maximilian Mader
4075a13b61
[GTK3] Enable SDL2 HIPAPI controllers
2020-05-19 02:33:24 +02:00
Maximilian Mader
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
Maximilian Mader
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
Maximilian Mader
89080ef47e
[GTK3] Move loose state variables into GuiData struct
2020-05-19 02:33:24 +02:00
Maximilian Mader
a08e1d1c83
[GTK3] Get rid of main.h
2020-05-19 02:33:24 +02:00
Maximilian Mader
8780aafe99
[GTK3] Use the audio abstraction of the SDL UI
2020-05-19 02:33:23 +02:00
Maximilian Mader
15d949e338
[GTK3] Try to reset VRAM viewer when closing a ROM
2020-05-19 02:33:23 +02:00
Maximilian Mader
c00946ea2e
[GTK3] Implement the app.close action
2020-05-19 02:33:23 +02:00
Maximilian Mader
e42d16290d
[GTK3] Implement ROM loading from open file dialog
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
b142227577
[GTK3] Implement the new SGB border options
2020-05-19 02:33:23 +02:00
Maximilian Mader
5b79094293
[GTK3] Make use of GB_set_boot_rom_load_callback
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
16c040d2d2
[GTK3] Clear sidebar in async input requests
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
b428995126
[GTK3] Reflect CLI model override in GUI
2020-05-19 02:33:22 +02:00
Maximilian Mader
a53d7f1e92
[GTK3] Add debug console prompt
2020-05-19 02:33:22 +02:00
Maximilian Mader
29ce04ff8a
[GTK3] Move &gb accesses on vblank to emu thread
2020-05-19 02:33:22 +02:00
Maximilian Mader
a1b464bd23
[GTK3] Implement rewind, turbo and slow-motion
2020-05-19 02:33:22 +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
e38b0e40fa
[GTK3] Run the emulation in its own thread
...
The code has not been checked for thread safety yet!
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