6834 Commits

Author SHA1 Message Date
Dimitris Panokostas
336e13457a
chore: tabs to spaces
Change tabs to spaces in some files, to sync with upstream
2024-11-09 17:54:12 +01:00
Dimitris Panokostas
78f2eef3d3
bugfix: Expansions panel refresh was buggy (fixes #1501) 2024-11-09 13:27:53 +01:00
Dimitris Panokostas
d37b52885d
bugfix: Expansion Rom file option would not always get saved (#1501) 2024-11-09 12:55:54 +01:00
Dimitris Panokostas
067c5e573a
enhancement: check for savestates in the savestate dir as well (fixes #1498)
If a savestate is passed in the command line when starting up, do a secondary check for the filename inside the defined savestates directory.
This allows for scenarios where just the filename can be passed as the parameter, instead of the full path to it as well.
2024-11-09 11:46:40 +01:00
Dimitris Panokostas
0de7f3a83c
1477 implement latest guisan changes (#1504)
* Merge latest Guisan updates from upstream

* Added drawChildren to container

Our SelectorEntry class would not draw the children otherwise

* Add 2 pixels of height to Checkboxes, to avoid font clipping

* bugfix: Fix Dropdown scrollarea would obstruct content (fixes #1476)

* bugfix: Dropdown scroll bar would still get in the way (#1476)

* bugfix: Add 1 more pixel of padding in Textfield (fixes #1478)
2024-11-08 14:13:59 +01:00
Didier Malenfant
c1aa68b1e7
bugfix: Fixed uninitialized path variable (#1502) 2024-11-07 13:25:52 +00:00
Dimitris Panokostas
56daee6510
refactor: added more ifdefs 2024-11-05 22:19:31 +01:00
Dimitris Panokostas
b7077ac49a
chore: remove opencollective links 2024-11-05 22:19:13 +01:00
Dimitris Panokostas
bd11afa5bc
Update c-cpp.yml 2024-11-01 16:51:31 +01:00
Dimitris Panokostas
664b624bb2
bugfix: Fixed mouse motion in different rotation angles 2024-11-01 15:42:59 +01:00
Dimitris Panokostas
a3148f9580
bugfix: when rotating display, mouse input should be rotated as well 2024-11-01 15:25:19 +01:00
Dimitris Panokostas
87a9570a0c
perf: avoid using std::endl on streams 2024-11-01 15:12:54 +01:00
Dimitris Panokostas
397ca3df12
ci: only use "rt" for Linux, not macOS 2024-10-30 21:48:19 +01:00
Dimitris Panokostas
b64a623161
ci: add "rt" library to fix build on older distros 2024-10-30 21:38:21 +01:00
Dimitris Panokostas
63ffbfbf88
Merge branch 'master' of https://github.com/BlitterStudio/amiberry 2024-10-30 21:30:34 +01:00
Dimitris Panokostas
a97e19d59a
refactor: cleanup includes, use write_log instead of printf 2024-10-30 21:30:21 +01:00
Dimitris Panokostas
76b7cae9a0
refactor: uaeserial improvements
Support multiple units based on the last digit of the device.
E.g. /dev/ttyUSB0 would be unit 0, /dev/ttyUSB1 would be unit 1, etc.
2024-10-30 19:36:12 +01:00
Dimitris Panokostas
e52ad10532
refactor: fixes for uaeserial 2024-10-30 18:13:27 +01:00
Dimitris Panokostas
318bc68406
1494 hardware serial support broken by v565 (#1496)
* bugfix: changing serial status did not check if the port was available

* bugfix: setbaud did not check if the port was available

* refactor: implementation improvements
2024-10-30 17:36:22 +01:00
Dimitris Panokostas
06ead89b9d
refactor: rename internal serial ports 2024-10-30 15:37:58 +01:00
Dimitris Panokostas
d2a71aa6f2
simplify GUI checks 2024-10-30 15:02:40 +01:00
Dimitris Panokostas
6a6ed968b5
When copying from the default locations, do a fallback check also 2024-10-30 15:02:18 +01:00
Dimitris Panokostas
d23b95d0f7
refactor: improve internal serial port name detection 2024-10-30 00:14:38 +01:00
Dimitris Panokostas
469fa32005
feat: added internal serial options 2024-10-30 00:05:05 +01:00
Dimitris Panokostas
021290e70a
feat: added Shared serial option 2024-10-29 23:30:37 +01:00
Dimitris Panokostas
3d3ee553c5
ci: libenet detection was broken 2024-10-29 22:44:54 +01:00
Dimitris Panokostas
698ca83394
ci: add libenet-dev to Ubuntu builds 2024-10-29 22:41:04 +01:00
Dimitris Panokostas
c2bdca40fe
ci: added new lib dependency in macOS runners
- enet library is now required
2024-10-29 22:34:47 +01:00
Dimitris Panokostas
f5ad0c3841
feat: implemented SERIAL_ENET functionality
- Added new dependency, libenet
- Enabled serial enet functionality
2024-10-29 21:29:46 +01:00
Dimitris Panokostas
9dc7dec4f4
1480 implement missing features in expansion gui panel (#1492)
* fixed vertical alignment of checkbox

* Fixed bug with string list model

* refactored functions in Expansion panel

Changed order of functions, to match WinUAE's mess closer

* Added Accelerator board RAM slider

* Fixed CPU board sub items dropdown list

* clear more lists when refreshing accelerator dropdowns

* Fixed StrngListModel clear

* Enable multiple RTG boards in cfgfile

* Added registry file, refactor things to use that for storing ROMs

Instead of storing the detected ROMs in the amiberry.conf file, we will switch to using the available functionality of registry -> ini file, that WinUAE already has.
This has become necessary, in order to use the same logic when storying the ROM entries (with their ID and type, not just the filename), which is used from the Expansions panel for custom board roms.

It also means changing the existing ROMs functionality to match, so it's likely some things will need fixing after this as well.

* Fixed rom scanning

* Create XDG dirs on startup, if they don't exist

This happened at least once in WSL2 + Debian, so let's make sure

* Fixed rom scanning again, ensure slash in path when needed
2024-10-27 17:17:29 +01:00
Dimitris Panokostas
99fc80b0fb
Added 24-bit DMA checkbox for Expansion ROMs (#1480) 2024-10-26 12:48:45 +02:00
Dimitris Panokostas
f3751bee2d
refactor: use gfxboard_refresh
now that we have full gfx board support, we should call this function here, instead of picasso_refresh.
2024-10-24 14:41:26 +02:00
Dimitris Panokostas
5106b3b38e
bugfix: Fixed returning to GUI triggered a segfault 2024-10-20 12:13:16 +02:00
Dimitris Panokostas
3695d52b88
bugfix: Theme font size wasn't picked up from the text box 2024-10-20 11:56:57 +02:00
Dimitris Panokostas
44d919df5d
refactor: change default shutdown button value to disabled 2024-10-20 11:56:13 +02:00
Dimitris Panokostas
0ea2e65cab
Gui themes (#1488)
* enhancement: Add new GUI panel, for handling GUI Themes

* Merged preview into gui-themes

* add more widgets on panel

* replaced textfields with sliders

* refactor: optimize PanelThemes

Remove duplicate code, simplify and optimize

* refactor: further optimize PanelThemes

* enhancement: added color box in PanelThemes

* refactor: Themes are now external files, not in amiberry.conf anymore

- Move themes outside of amiberry.conf
- only the theme name remains in amiberry.conf, which points to the filename to use. The default is "default.cfg" and it will be created on startup, if it's missing, with the default theme values.
- added "themes" directory and automatic creation of it on startup, if missing. The location is under XDG_DATA_HOME (~/.local/share/amiberry/themes by default)
- refactored code, themes are now loaded during the prefs_to_gui stage
- added functions for loading/saving themes to filenames

* refactor: load a fallback font if the theme one wasn't found

- Fallback to a standard system font, if the theme one wasn't found
- Enable anti-alias for GUI font
- Create default theme file if it's missing
- Added themes dropdown in GUI

* don't need the extra slash

* refactor: rename theme extension to .theme, load one on startup

- Changed .cfg to .theme for themes
- Load the selected theme on startup
- Set the defaults if the theme is missing a font name

* refactor: rename textbox_background_color to background_color

* feat: added ability to set Global widget colors

* bugfix: SelectFile didn't work when creating new files

* refactor: rename default theme to Default.theme

* added Save As option in Themes

* doc: improved help text in Themes panel

* added some navigation for the Themes panel

Sliders are not included, as they don't have unique IDs yet
2024-10-19 17:18:02 +02:00
Dimitris Panokostas
f252b4d0e6
bugfix: Interlace screen height fix.
Merged from WinUAE
2024-10-17 08:23:21 +02:00
Dimitris Panokostas
2251e16191
enhancement: Check interlace mode field type when calculating screenshot height.
Merged from WinUAE
2024-10-17 08:19:41 +02:00
Dimitris Panokostas
d6b13d25c2
bugfix: Ensure we use bind from socket.h in macOS
MacOS also has bind.h which seems to pick this up, and fails during compilation.
2024-10-16 21:34:40 +02:00
Dimitris Panokostas
7d35978150
Revert "bugfix: bind would fail on macOS intel"
This reverts commit ce5cbbbf010ebdc45d4f10051c747d7b721075b4.
[skip ci]
2024-10-16 21:10:15 +02:00
Dimitris Panokostas
ce5cbbbf01
bugfix: bind would fail on macOS intel 2024-10-16 21:02:21 +02:00
Dimitris Panokostas
a0e03935c8
bugfix: Fixed register type not allowed in newer C++ standards 2024-10-16 19:22:13 +02:00
Dimitris Panokostas
035875c76a
feat: Implemented SLIRP support
Merged from WinUAE, with minor modifications to make it compile under non-Windows environments
2024-10-16 18:53:37 +02:00
Dimitris Panokostas
20a8024941
enhancement: improve mime types (fixes #1474)
[skip ci]
2024-10-15 20:50:19 +02:00
Dimitris Panokostas
83b281c89a
Fixed whitespace
[skip ci]
2024-10-15 20:49:42 +02:00
Dimitris Panokostas
0e301d4671
refactor: tweak cmake settings 2024-10-14 09:25:26 +02:00
Dimitris Panokostas
8ff8a18861
enhancement: Highdpi aware renderer (#1472)
* feat: improve high-DPI rendering
Linux already works fine with scaling, but macOS works differently.

Let's see if this improves the situation

* TTF_SetFontSizeDPI is only available on SDL2 2.0.18 or newer

* Move the SDL2 version check in the right place

* Fix macos build
2024-10-13 16:35:35 +02:00
Dimitris Panokostas
0671a55ec9
enhancement: updated WHDLoad to latest version 2024-10-13 15:57:41 +02:00
Dimitris Panokostas
e155904e83
ensure the amiberry dir is created if missing, under the XDG dirs 2024-10-13 15:39:12 +02:00
Dimitris Panokostas
b85279830a
fix xdg_data_home amiberry path
Had one extra slash at the end
2024-10-13 15:27:33 +02:00