27 Commits

Author SHA1 Message Date
Dimitris Panokostas
54ecc1b02b
ci: fix copyright year in macos bundle 2025-01-11 23:41:16 +01:00
Dimitris Panokostas
a280b7c073
ci: add recommended compiler flags for macOS debug builds
In order to use the profiler, Jetbrains recommend these flags for macOS Debug builds
2025-01-07 17:55:05 +01:00
Dimitris Panokostas
e494c665d0
feat: Keyboard MCU emulation 2025-01-05 02:28:38 +01:00
Dimitris Panokostas
357cb2de4a
bugfix: fix bundled plugins on MacOS (#1540) (#1541)
The bundled plugins of capsimg and floppybridge, were not included in the final app bundle.
Furthermore, they need to be signed with the same digital certificate, otherwise MacOS will block them from loading.
2024-12-19 16:38:38 +01:00
Dimitris Panokostas
701d538826
refactor: add pre-release version string
Pre-releases or RC packages, should indicate that in the version string
2024-11-27 10:47:14 +01:00
Dimitris Panokostas
97a7021c7b
ci: fix capitalization for MacOS App bundle 2024-11-21 23:53:19 +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
3d3ee553c5
ci: libenet detection was broken 2024-10-29 22:44:54 +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
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
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
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
7ecdc36722
added more mime types (fixes #1461) (#1468)
* added more mime types (fixes #1461)
Refactored a few more files

* Fixed path to Desktop file
2024-10-10 11:22:35 +02:00
Dimitris Panokostas
0c5d05255e
Refactor cmakelists (#1467)
* refactor: break out CMakeLists.txt

Make things more manageable by breaking out sections of the monolithic CMakeLists.txt into separate files
2024-10-10 10:37:14 +02:00
Dimitris Panokostas
940c046ad2
Fix flatpak (#1466)
* refactor: fix flatpak builds
- added FindHelper.cmake
- Bumped Flatpak runtime to 24.08
- Version changes

* fixed find helper for libserialport

* use variables for find_helper libs

* fixed libmpeg2 vs libmpeg2convert

* refactor: desktop and metainfo.xml files
- Merged files between flatpak and normal Linux packages

* Update com.blitterstudio.amiberry.yml

* Update Amiberry.desktop
2024-10-10 08:55:46 +02:00
Dimitris Panokostas
b2fc655f71
build: added optimize.cmake 2024-10-07 20:10:29 +02:00
Dimitris Panokostas
6e84d721c9
Macos bundle (#1446)
* refactor: macOS bundle changes

- Move macos build files in separate directory
- Harmonize logic of creating folders on startup between MacOS and Linux versions
- Removed macos_init_amiberry.zsh script, no longer needed

* ci: enable builds on all pushes and pull requests

* ci: build on every push, not just tags

* build: fix some paths

* Added cmake macosx bundle options

* Fixes for macOS directory detections

* build: fix path to template file

* Escape paths in macOS Library directory

* build: when compiling on macOS, capitalize project name

* ci: use CMake to prepare macOS bundles

* ci: fix path for macOS bundle

* ci: remove CPack options for macOS (not needed)

The build already produces an app bundle now, so there's no need for Cpack as well for this platform

* ci: don't include the build dir in the macOS zip

* ci: fix path to macOS artifact

* ci: fix macOS x86 zip path

* build: add a few more properties in the plist file

* build: combine macOS and Linux options where possible

* build: added man file (fixes #1445)

* ci: build macOS packages the same way as Linux Deb ones

* ci: also change apple silicon build

* build: fix macos bundle packaging from cmake

* refactor: reorganize CPack entries

- reorganized cpack entries in more logical order
- added DMG background image

* refactor: improved icon

* bugfix: fixed applescript .app reference

* build: maybe we don't need the RPATH change anymore

* build: skip install step in bundled libs, do it from the root one only

* refactor: use .dylib for macOS libs, look for them in Frameworks directory

* build: fix destination folder of DEB assets

* build: remove Makefiles and obsolete files

* refactor: data_dir in macOS should be in Resources

* refactor: some dirs should not be in the config file

- data dir is determined on startup, having it in the config file will only make things worse
- path dir doesn't seem to be necessary to save/load
- config path as well
2024-09-30 18:38:55 +02:00
Dimitris Panokostas
d0056f77cd
Merge Preview v6.x to master
V5 now lives in a separate repo: https://github.com/BlitterStudio/amiberry-lite
2024-09-23 19:42:29 +02:00
Dimitris Panokostas
0cf3e2255c
Added cmake modules from preview 2024-04-05 20:25:54 +02:00
Dimitris Panokostas
d0dfc4561a
feat: merged WHDLoad panel and other improvements from preview 2024-03-17 22:12:37 +01:00
Christer Solskogen
56336dc394 add custom gcc flags for the rpi5(cmake) 2023-12-12 22:42:00 +01:00
Dimitris Panokostas
9f08d520e1
bugfix: fix CMake build on branch 2023-11-09 21:28:03 +01:00
Dimitris Panokostas
34470151f0
remove file with incorrect case 2023-11-09 21:27:37 +01:00
Dimitris Panokostas
0ebec9c491 Fixed CMake project files 2022-11-08 20:16:46 +01:00