1440 create home directories on startup (#1443)

* build: move gamecontrollerdb.txt to controllers directory

* enhancement: create home directories if they don't exist

- After the directories have been decided (data, home, config), create those in the specified HOME directory, if they don't exist
- If they didn't exist, and we had the original contents installed in /usr/share/amiberry/<dir>, copy those over and change permissions. This ensures that the distributed files like the AROS ROMs, the WHDLoad booter and the controllerdb files, are always there in the home dir.

* chore: we no longer need to copy all the directories in the package

Now that we create the home directories on startup, we don't need the empty ones in the package anymore.
Only those that contain something can stay

* build: add stripping of binaries

* chore: ignore .idea folder

* bugfix: WHDLoad booter A1200 config was incorrect

After the additional entries in A1200 configs and models, the booter was set to incorrectly use a config with a Blizzard accelerator. Since that requires a board ROM, which might not be available, it has to change.

Using the default A1200 config instead, and setting Fast RAM to 8MB after that.

* build: install icon in shared location

When preparing the .deb package, the application icon should go in the /usr/share/icons/hicolor/... location, to adhere with established standards

* build: use ~/Amiberry instead of ~/.amiberry

Perhaps it's best to use a non-hidden folder for amiberry directories, make it easier on the users to find it

* refactor: use ~/Amiberry/conf instead of ~/.config/amiberry for config files

* refactor: change desktop file icon reference

Should be possible to use just "amiberry" now, that the icon file is copied in the right location

* chore: fix references to github.com/midwan -> github.com/BlitterStudio

* refactor: move plugins dir to /usr/lib/amiberry in the .deb package

If we are using a system-wide installation, with the .deb package, use /usr/lib/amiberry for plugins.
Check the HOME/Amiberry/plugins next, create it if necessary.
Fallback to the startup directory if that's not available (probably never).

* refactor: only move the abr folder in the destination plugins

When using the .deb package, only the abr folder should be copied in the destination.
Otherwise, we get a plugins directory created there as well

* refactor: Change Kickstarts to Roms

The Kickstarts directory can contain different kind of ROMs, not only kickstarts.
It's best if we rename it accordingly

* build: CPack updates

- Removed unneeded line
- added CPACK_DEBIAN_PACKAGE_ARCHITECTURE
- Added Extended Description
- Fixed description starts with package name

* ci: rename architectures properly

Let's keep the names identical to what dpkg reports

* build: fix some lintian errors

- location of plugins
- section

* build: added copyright and changelog in DEB

* build: fix location of debian files

* build: add copyright notice, fix changelog

* build: changelog should be compressed

* build: extend the description

* build: make the description lines shorter...

* build: description should not be longer than 80 chars

* build: remove timestamp from changelog

Fix another lintian complaint

* build: description again

* bugfix: the plugins dir was not correctly set

* refactor: Updated desktop entry to handle MimeTypes

* build: remove duplicate key in desktop file

* build: add more mimetypes to desktop file
This commit is contained in:
Dimitris Panokostas 2024-09-28 09:54:50 +02:00 committed by GitHub
parent 2ca9168e41
commit 40e73ea8ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 318 additions and 664 deletions

View File

@ -10,9 +10,9 @@ If you haven't already, come find us in one of these platforms:
Bug reporting is an important part of making Amiberry better. If you believe you have found a bug, then please follow these steps: Bug reporting is an important part of making Amiberry better. If you believe you have found a bug, then please follow these steps:
* **Ensure the bug has not already been reported.** Check the existing Github [Issues](https://github.com/midwan/amiberry/issues). * **Ensure the bug has not already been reported.** Check the existing Github [Issues](https://github.com/BlitterStudio/amiberry/issues).
* If you're unable to find an open issue that addresses the problem, [open a new one](https://github.com/midwan/amiberry/issues/new). * If you're unable to find an open issue that addresses the problem, [open a new one](https://github.com/BlitterStudio/amiberry/issues/new).
Be sure to include a **title and clear description**, as much relevant information as possible and **steps to recreate** the problem. Be sure to include a **title and clear description**, as much relevant information as possible and **steps to recreate** the problem.
* Please use the relevant **bug report template** to create the issue. It was designed to help you fill in what we need, in order to locate * Please use the relevant **bug report template** to create the issue. It was designed to help you fill in what we need, in order to locate

View File

@ -96,7 +96,7 @@ jobs:
name: amiberry-macOS-64bit-apple-silicon name: amiberry-macOS-64bit-apple-silicon
path: amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip path: amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
build-debian-bullseye-x86_64: build-debian-bullseye-amd64:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -113,10 +113,10 @@ jobs:
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: amiberry-debian-bullseye-x86_64 name: amiberry-debian-bullseye-amd64
path: amiberry_*.deb path: amiberry_*.deb
build-debian-bookworm-x86_64: build-debian-bookworm-amd64:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -133,10 +133,10 @@ jobs:
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: amiberry-debian-bookworm-x86_64 name: amiberry-debian-bookworm-amd64
path: amiberry_*.deb path: amiberry_*.deb
build-debian-bookworm-aarch64: build-debian-bookworm-arm64:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -153,7 +153,7 @@ jobs:
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: amiberry-debian-bookworm-aarch64 name: amiberry-debian-bookworm-arm64
path: amiberry_*.deb path: amiberry_*.deb
build-debian-bookworm-armhf: build-debian-bookworm-armhf:
@ -176,7 +176,7 @@ jobs:
name: amiberry-debian-bookworm-armhf name: amiberry-debian-bookworm-armhf
path: amiberry_*.deb path: amiberry_*.deb
build-debian-bullseye-aarch64: build-debian-bullseye-arm64:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -193,7 +193,7 @@ jobs:
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: amiberry-debian-bullseye-aarch64 name: amiberry-debian-bullseye-arm64
path: amiberry_*.deb path: amiberry_*.deb
build-debian-bullseye-armhf: build-debian-bullseye-armhf:
@ -217,7 +217,7 @@ jobs:
path: amiberry_*.deb path: amiberry_*.deb
create-release: create-release:
needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-x86_64, build-debian-bookworm-aarch64, build-debian-bookworm-armhf, build-debian-bullseye-x86_64, build-debian-bullseye-aarch64, build-debian-bullseye-armhf] needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf]
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v') if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v')
steps: steps:
@ -244,15 +244,15 @@ jobs:
artifacts: | artifacts: |
amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip
amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
amiberry-debian-bookworm-x86_64/amiberry_*.deb amiberry-debian-bookworm-amd64/amiberry_*.deb
amiberry-debian-bookworm-aarch64/amiberry_*.deb amiberry-debian-bookworm-arm64/amiberry_*.deb
amiberry-debian-bookworm-armhf/amiberry_*.deb amiberry-debian-bookworm-armhf/amiberry_*.deb
amiberry-debian-bullseye-x86_64/amiberry_*.deb amiberry-debian-bullseye-amd64/amiberry_*.deb
amiberry-debian-bullseye-aarch64/amiberry_*.deb amiberry-debian-bullseye-arm64/amiberry_*.deb
amiberry-debian-bullseye-armhf/amiberry_*.deb amiberry-debian-bullseye-armhf/amiberry_*.deb
create-prerelease: create-prerelease:
needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-x86_64, build-debian-bookworm-aarch64, build-debian-bookworm-armhf, build-debian-bullseye-x86_64, build-debian-bullseye-aarch64, build-debian-bullseye-armhf] needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf]
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'preview-v') if: github.ref_type == 'tag' && startsWith(github.ref_name, 'preview-v')
steps: steps:
@ -280,9 +280,9 @@ jobs:
artifacts: | artifacts: |
amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip
amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
amiberry-debian-bookworm-x86_64/amiberry_*.deb amiberry-debian-bookworm-amd64/amiberry_*.deb
amiberry-debian-bookworm-aarch64/amiberry_*.deb amiberry-debian-bookworm-arm64/amiberry_*.deb
amiberry-debian-bookworm-armhf/amiberry_*.deb amiberry-debian-bookworm-armhf/amiberry_*.deb
amiberry-debian-bullseye-x86_64/amiberry_*.deb amiberry-debian-bullseye-amd64/amiberry_*.deb
amiberry-debian-bullseye-aarch64/amiberry_*.deb amiberry-debian-bullseye-arm64/amiberry_*.deb
amiberry-debian-bullseye-armhf/amiberry_*.deb amiberry-debian-bullseye-armhf/amiberry_*.deb

5
.gitignore vendored
View File

@ -3,8 +3,8 @@
### Amiberry files ### ### Amiberry files ###
conf/*.uae conf/*.uae
conf/*.conf conf/*.conf
kickstarts/*.rom roms/*.rom
kickstarts/*.key roms/*.key
/amiberry* /amiberry*
### VisualGDB ### ### VisualGDB ###
@ -227,3 +227,4 @@ cmake-build-release-remote-host
cmake-build-debug-opengl cmake-build-debug-opengl
cmake-build-* cmake-build-*
_CPack_Packages _CPack_Packages
.idea

8
.idea/.gitignore generated vendored
View File

@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

483
.idea/editor.xml generated
View File

@ -1,483 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="BackendCodeEditorSettings">
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexedValue" value="ERROR" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexedValue" value="SUGGESTION" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexedValue" value="WARNING" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexedValue" value="HINT" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexedValue" value="DO_NOT_SHOW" type="string" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSmartPointerVsMakeFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCStyleCast/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionalStyleCast/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReinterpretCastFromVoidPtr/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConvertingConstructor/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExplicitConversionOperator/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDiscardedPostfixOperatorResult/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstValueFunctionReturnType/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeConst/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberFunctionMayBeStatic/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMayBeConst/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConst/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVariableCanBeMadeConstexpr/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterMayBeConstPtrOrRef/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPassValueParameterByConstReference/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppThrowExpressionCanBeReplacedWithRethrow/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroConstantCanBeReplacedWithNullptr/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCompileTimeConstantCanBeReplacedWithBooleanConstant/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIfCanBeReplacedByConstexprIf/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IfStdIsConstantEvaluatedCanBeReplaced/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StdIsConstantEvaluatedWillAlwaysEvaluateToConstant/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConstevalIfIsAlwaysConstant/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStructuredBinding/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseTypeTraitAlias/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAlgorithmWithCount/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseRangeAlgorithm/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseElementsView/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseStdSize/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForLoopCanBeReplacedWithWhile/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppJoinDeclarationAndAssignment/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceTieWithStructuredBinding/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReplaceMemsetWithZeroInitialization/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAssociativeContains/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseEraseAlgorithm/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseFamiliarTemplateSyntaxForGenericLambdas/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScope/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTooWideScopeInitStatement/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantNamespaceDefinition/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineFunctionDefinitionInHeaderFile/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonInlineVariableDefinitionInHeaderFile/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionIsNotImplemented/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrivateSpecialMemberFunctionIsNotImplemented/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHiddenFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHidingFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPolymorphicClassWithNonVirtualPublicDestructor/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractClassWithoutSpecifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompleteSwitchStatement/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultCaseNotHandledInSwitchStatement/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyErroneousEmptyStatements/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExpressionWithoutSideEffects/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNoDiscardExpression/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionResultShouldBeUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingKeywordThrow/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTypeWithoutTypenameKeyword/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDependentTemplateWithoutTemplateKeyword/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppImplicitDefaultConstructorNotAvailable/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeedsConstructorBecauseOfUninitializedMember/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedNonStaticDataMember/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRangeBasedForIncompatibleReference/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppZeroValuedExpressionUsedAsNullPointer/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUnintendedObjectSlicing/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPossiblyUninitializedMember/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorDisambiguatedAsFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionInFinalClass/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMustBePublicVirtualToImplementInterface/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationSpecifierWithoutDeclarators/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEmptyDeclaration/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesLocal/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclarationHidesUncapturedLocal/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMismatchedClassTags/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUsingResultOfAssignmentAsCondition/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIntegralToPointerConversion/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerToIntegralConversion/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIncompatiblePointerConversion/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPointerConversionDropsQualifiers/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStringLiteralToCharPointerConversion/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNonExceptionSafeResourceAcquisition/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVirtualFunctionCallInsideCtor/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractVirtualFunctionCallInCtor/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInvalidLineContinuation/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfBadFormat/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfRiskyFormat/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfMissedArg/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrintfExtraArg/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatBadCode/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatLegacyCode/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatMixedArgs/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooFewArgs/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBoostFormatTooManyArgs/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedEntity/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMissingIncludeGuard/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenSyntaxError/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUnresolvedReference/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDoxygenUndocumentedParameter/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeletingVoidPointer/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppBooleanIncrementExpression/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeprecatedRegisterStorageClassSpecifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppIdenticalOperandsInBinaryExpression/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEqualOperandsInBinaryExpression/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedefinitionOfDefaultArgumentInOverrideFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnamedNamespaceInHeaderFile/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNamesMismatch/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNodiscardFunctionWithoutReturnValue/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantComplexityInComparison/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAbstractFinalClass/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSpecialFunctionWithoutNoexceptSpecification/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnsignedZeroComparison/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterLiteral/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMultiCharacterWideLiteral/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantQualifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantAccessSpecifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAccessSpecifierWithNoDeclarations/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTypenameKeyword/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateKeyword/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeyword/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElseKeywordInsideCompoundStatement/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantControlFlowJump/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyStatement/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantEmptyDeclaration/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantParentheses/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantLambdaParameterList/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantCastExpression/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppHeaderHasBeenAlreadyIncluded/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateArgumentsCanBeDeduced/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantTemplateArguments/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticSpecifierOnAnonymousNamespaceMember/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnMemberAllocationFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantStaticSpecifierOnThreadLocalLocalVariable/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassAccessSpecifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantInlineSpecifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConstSpecifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBooleanExpressionArgument/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantVoidArgumentList/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantMemberInitializer/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantBaseClassInitializer/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConstParameterInDeclaration/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppVolatileParameterInDeclaration/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalFunctionInFinalClass/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFinalNonOverridingVirtualFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantElaboratedTypeSpecifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantDereferencingAndTakingAddress/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantConditionalExpression/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConditionalExpressionCanBeSimplified/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantExportKeyword/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRedundantZeroInitializerInAggregateInitialization/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassIsIncomplete/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterShadowing/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMutableSpecifierOnReferenceMember/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultInitializationWithNoUserConstructor/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppExplicitSpecializationInNonNamespaceScope/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnionMemberOfReferenceType/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUninitializedDependentBaseClass/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderIsNotIncluded/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppPrecompiledHeaderNotFound/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCoroutineCallResolveError/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppAwaiterTypeIsNotClass/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppOutParameterMustBeWritten/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWarningDirective/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticAssertFailure/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEvaluationFailure/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTypeAliasNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppConceptNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnumeratorNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLambdaCaptureNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableWithNonTrivialDtorIsNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppParameterNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTemplateParameterNeverUsed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityAssignedButNoRead/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEntityUsedOnlyInUnevaluatedContext/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLocalVariableMightNotBeInitialized/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppObjectMemberMightNotBeInitialized/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppSomeObjectMembersMightNotBeInitialized/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDeclaratorUsedBeforeInitialization/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnusedIncludeDirective/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppNotAllPathsReturnValue/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CDeclarationWithImplicitIntType/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppFunctionDoesntReturnValue/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppReturnNoValueInNonVoidFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppCVQualifierCanNotBeAppliedToReference/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDereferenceOperatorLimitExceeded/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppForwardEnumDeclarationWithoutUnderlyingType/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaRegionDirective/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnmatchedPragmaEndRegionDirective/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppStaticDataMemberInUnnamedStruct/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDefaultIsUsedAsIdentifier/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppLongFloat/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtReinterpretCastFromNullptr/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtBindingRValueToLvalueReference/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtAddressOfClassRValue/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtDoubleUserConversionInCopyInit/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtCopyElisionInCopyInitDeclarator/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMsExtNotInitializedStaticConstLocalVar/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppRemoveRedundantBraces/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceIfStatementBraces/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceForStatementBraces/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceWhileStatementBraces/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceDoStatementBraces/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongIncludesOrder/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppWrongSlashesInIncludeDirective/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceNestedNamespacesStyle/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceTypeAliasCodeStyle/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceFunctionDeclarationStyle/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppMemberInitializersOrder/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingFunctionStyle/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceOverridingDestructorStyle/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAuto/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUseAutoForNumeric/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersPlacement/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppEnforceCVQualifiersOrder/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppUnnecessaryWhitespace/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppTabsAreDisallowed/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantConditions/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANullDereference/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFANotInitializedField/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALoopConditionNotUpdated/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFADeletedPointer/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAMemoryLeak/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInvalidatedMemory/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesScope/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFALocalValueEscapesFunction/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantParameter/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAConstantFunctionResult/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAArrayIndexOutOfBounds/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableCode/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreachableFunctionCall/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAEndlessLoop/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAInfiniteRecursion/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnusedValue/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFAUnreadVariable/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppDFATimeOver/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppInconsistentNaming/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=StringLiteralTypo/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=CommentTypo/@EntryIndexRemoved" />
<option name="/Default/CodeInspection/Highlighting/InspectionSeverities/=IdentifierTypo/@EntryIndexRemoved" />
</component>
</project>

View File

@ -480,72 +480,53 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION .) install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION .)
else () else ()
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
# Install additional directories # Install additional directories
install(DIRECTORY ${CMAKE_SOURCE_DIR}/cdroms # This one contains the gamecontrollersdb.txt file
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/conf
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/controllers install(DIRECTORY ${CMAKE_SOURCE_DIR}/controllers
DESTINATION share/${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}
) )
# This one contains the data files
install(DIRECTORY ${CMAKE_SOURCE_DIR}/data install(DIRECTORY ${CMAKE_SOURCE_DIR}/data
DESTINATION share/${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}
) )
install(DIRECTORY ${CMAKE_SOURCE_DIR}/floppies # This one contains the AROS kickstart files
install(DIRECTORY ${CMAKE_SOURCE_DIR}/roms
DESTINATION share/${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}
) )
install(DIRECTORY ${CMAKE_SOURCE_DIR}/harddrives # This one contains the plugins
DESTINATION share/${PROJECT_NAME} install(DIRECTORY ${CMAKE_SOURCE_DIR}/plugins/abr
) DESTINATION lib/${PROJECT_NAME}
install(DIRECTORY ${CMAKE_SOURCE_DIR}/inputrecordings
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/kickstarts
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/lha
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/nvram
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/plugins
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/savestates
DESTINATION share/${PROJECT_NAME}
)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/screenshots
DESTINATION share/${PROJECT_NAME}
) )
# This one contains the whdboot files
install(DIRECTORY ${CMAKE_SOURCE_DIR}/whdboot install(DIRECTORY ${CMAKE_SOURCE_DIR}/whdboot
DESTINATION share/${PROJECT_NAME} DESTINATION share/${PROJECT_NAME}
) )
# Install shared libraries
install(FILES ${CMAKE_BINARY_DIR}/external/floppybridge/libfloppybridge.so
DESTINATION share/${PROJECT_NAME}/plugins
)
install(FILES ${CMAKE_BINARY_DIR}/external/capsimage/libcapsimage.so
DESTINATION share/${PROJECT_NAME}/plugins
)
# Install desktop file # Install desktop file
install(FILES ${CMAKE_SOURCE_DIR}/data/Amiberry.desktop install(FILES ${CMAKE_SOURCE_DIR}/data/Amiberry.desktop
DESTINATION share/applications DESTINATION share/applications
) )
# Install icon
install(FILES ${CMAKE_SOURCE_DIR}/data/amiberry.png
DESTINATION share/icons/hicolor/256x256/apps
)
# Install Debian files
install(FILES ${CMAKE_SOURCE_DIR}/debian/changelog.gz
DESTINATION share/doc/${PROJECT_NAME}
)
install(FILES ${CMAKE_SOURCE_DIR}/debian/copyright
DESTINATION share/doc/${PROJECT_NAME}
)
endif () endif ()
include(InstallRequiredSystemLibraries)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(CPACK_GENERATOR "Bundle") set(CPACK_GENERATOR "Bundle")
set(CPACK_BUNDLE_NAME "Amiberry") set(CPACK_BUNDLE_NAME "Amiberry")
set(CPACK_BUNDLE_PLIST ${CMAKE_SOURCE_DIR}/Info.plist) set(CPACK_BUNDLE_PLIST ${CMAKE_SOURCE_DIR}/Info.plist)
set(CPACK_BUNDLE_APPLE_ENTITLEMENTS ${CMAKE_SOURCE_DIR}/Entitlements.plist) set(CPACK_BUNDLE_APPLE_ENTITLEMENTS ${CMAKE_SOURCE_DIR}/Entitlements.plist)
set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/data/amiberry.png) set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/data/amiberry.png)
set(CPACK_STRIP_FILES "YES")
else() else()
set(CPACK_GENERATOR "DEB") set(CPACK_GENERATOR "DEB")
set(CPACK_SOURCE_IGNORE_FILES .git/ .github/ .vscode/ _CPack_Packages/) set(CPACK_SOURCE_IGNORE_FILES .git/ .github/ .vscode/ _CPack_Packages/)
@ -557,12 +538,26 @@ else()
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
SET(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/docs/README.md") SET(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/docs/README.md")
SET(CPACK_DEBIAN_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) SET(CPACK_DEBIAN_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "arm64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "armhf")
else()
SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
endif()
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://amiberry.com") set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://amiberry.com")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Dimitris Panokostas <midwan@gmail.com>") # Required set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Dimitris Panokostas <midwan@gmail.com>") # Required
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.27), libstdc++6 (>= 8.3.0), libsdl2-2.0-0, libsdl2-image-2.0-0, libsdl2-ttf-2.0-0, flac, libmpg123-0, libpng16-16, zlib1g, libserialport0, libportmidi0, libmpeg2-4") # Adjust dependencies as needed set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.27), libstdc++6 (>= 8.3.0), libsdl2-2.0-0, libsdl2-image-2.0-0, libsdl2-ttf-2.0-0, flac, libmpg123-0, libpng16-16, zlib1g, libserialport0, libportmidi0, libmpeg2-4") # Adjust dependencies as needed
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Amiberry is an optimized Amiga emulator various platforms.") set(CPACK_DEBIAN_PACKAGE_DESCRIPTION
set(CPACK_DEBIAN_PACKAGE_SECTION "games") "Optimized Amiga emulator for various ARM, ARM64, AMD64 and RISC-V platforms.
Amiberry is an optimized Amiga emulator for various platforms. It is based on
the latest WinUAE and supports various Amiga models, including the A4000T,
A4000D, A1200, A3000 and A600. Additionally, it includes several unique
features, such as support for WHDLoad titles, RetroArch integration, custom
Controller Mappings and more.")
set(CPACK_DEBIAN_PACKAGE_SECTION "otherosfs")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_STRIP_FILES "YES")
endif() endif()
include(CPack) include(CPack)

View File

@ -4,7 +4,7 @@ controllers_path=USERDIR/Documents/Amiberry/Controllers/
retroarch_config=USERDIR/Documents/Amiberry/Configurations/retroarch.cfg retroarch_config=USERDIR/Documents/Amiberry/Configurations/retroarch.cfg
whdboot_path=USERDIR/Documents/Amiberry/Whdboot/ whdboot_path=USERDIR/Documents/Amiberry/Whdboot/
logfile_path=USERDIR/Documents/Amiberry/amiberry.log logfile_path=USERDIR/Documents/Amiberry/amiberry.log
rom_path=USERDIR/Documents/Amiberry/Kickstarts/ rom_path=USERDIR/Documents/Amiberry/Roms/
floppy_sounds_dir=USERDIR/Documents/Amiberry/Data/Floppy_Sounds/ floppy_sounds_dir=USERDIR/Documents/Amiberry/Data/Floppy_Sounds/
data_dir=USERDIR/Documents/Amiberry/Data/ data_dir=USERDIR/Documents/Amiberry/Data/
saveimage_dir=USERDIR/Documents/Amiberry/Savestates/ saveimage_dir=USERDIR/Documents/Amiberry/Savestates/

View File

@ -9,14 +9,17 @@ Version = 1.0
# The name of the application # The name of the application
Name = Amiberry Name = Amiberry
GenericName = Amiga Emulator
# A comment which can/will be used as a tooltip # A comment which can/will be used as a tooltip
Comment = Amiga Emulator Comment = Optimized Amiga Emulator
# The executable of the application, possibly with arguments # The executable of the application, possibly with arguments
Exec = /usr/bin/amiberry Exec = /usr/bin/amiberry %f
TryExec = /usr/bin/amiberry
# The name of the icon that will be used to display this entry # The name of the icon that will be used to display this entry
Icon = /usr/share/amiberry/data/amiberry.png Icon = amiberry
# Describes whether this application needs to be run in a terminal or not # Describes whether this application needs to be run in a terminal or not
Terminal = false Terminal = false
@ -24,5 +27,7 @@ Terminal = false
# Describes the categories in which this entry should be shown # Describes the categories in which this entry should be shown
Categories = Game;Emulator; Categories = Game;Emulator;
MimeType=application/x-amiga-disk-image;application/x-cue;application/x-lha;application/octet-stream;
# Describes the encoding for the desktop entry # Describes the encoding for the desktop entry
Encoding=UTF-8 Encoding=UTF-8

5
debian/changelog vendored Normal file
View File

@ -0,0 +1,5 @@
amiberry (0.0.0-0) unstable; urgency=low
* Dummy changelog entry.
-- Dimitris Panokostas <midwan@gmail.com> Wed, 11 Sep 2024 18:53:49 +0200

BIN
debian/changelog.gz vendored Normal file

Binary file not shown.

8
debian/copyright vendored Normal file
View File

@ -0,0 +1,8 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Amiberry
Upstream-Contact: Dimitris Panokostas <midwan@gmail.com>
Source: https://github.com/BlitterStudio/amiberry
Files: *
Copyright: 2016-2024 Dimitris Panokostas
License: GPL-3

View File

@ -4,7 +4,7 @@
<a rel="me" href="https://mastodon.social/@midwan">Follow me Mastodon!</a> <a rel="me" href="https://mastodon.social/@midwan">Follow me Mastodon!</a>
[![C/C++ CI](https://github.com/midwan/amiberry/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/midwan/amiberry/actions/workflows/c-cpp.yml) [![C/C++ CI](https://github.com/BlitterStudio/amiberry/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/BlitterStudio/amiberry/actions/workflows/c-cpp.yml)
[![Discord](https://img.shields.io/badge/My-Discord-%235865F2.svg)](https://discord.gg/wWndKTGpGV) [![Discord](https://img.shields.io/badge/My-Discord-%235865F2.svg)](https://discord.gg/wWndKTGpGV)
@ -85,7 +85,7 @@ A flatpak version is available on [Flathub](https://flathub.org/apps/com.blitter
### Standalone binaries ### Standalone binaries
The latest `stable` releases come with binaries for several different platforms, that you can download from the [Releases](https://github.com/midwan/amiberry/releases) area. If your platform is not included, or if you want to test a newer version than the stable release, then you will have to compile it yourself. Read on to see how to do that. The latest `stable` releases come with binaries for several different platforms, that you can download from the [Releases](https://github.com/BlitterStudio/amiberry/releases) area. If your platform is not included, or if you want to test a newer version than the stable release, then you will have to compile it yourself. Read on to see how to do that.
### Compile from source ### Compile from source

View File

@ -172,6 +172,6 @@ records:
- delay: 135 - delay: 135
content: "\r\n= = = = = = = = = = = = = = = = = = = = =\r\nInstalling dependencies for 'amiberry' : Amiga emulator with JIT support (forked from uae4arm)\r\n= = = = = = = = = = = = = = = = = = = = =\r\n\r\n" content: "\r\n= = = = = = = = = = = = = = = = = = = = =\r\nInstalling dependencies for 'amiberry' : Amiga emulator with JIT support (forked from uae4arm)\r\n= = = = = = = = = = = = = = = = = = = = =\r\n\r\n"
- delay: 860 - delay: 860
content: "/home/pi/RetroPie-Setup/tmp/build/amiberry /home/pi\r\n\r\n= = = = = = = = = = = = = = = = = = = = =\r\nGetting sources for 'amiberry' : Amiga emulator with JIT support (forked from uae4arm)\r\n= = = = = = = = = = = = = = = = = = = = =\r\n\r\ngit clone --recursive --depth 1 \"https://github.com/midwan/amiberry/\" \"/home/pi/RetroPie-Setup/tmp/build/amiberry\"\r\n" content: "/home/pi/RetroPie-Setup/tmp/build/amiberry /home/pi\r\n\r\n= = = = = = = = = = = = = = = = = = = = =\r\nGetting sources for 'amiberry' : Amiga emulator with JIT support (forked from uae4arm)\r\n= = = = = = = = = = = = = = = = = = = = =\r\n\r\ngit clone --recursive --depth 1 \"https://github.com/BlitterStudio/amiberry/\" \"/home/pi/RetroPie-Setup/tmp/build/amiberry\"\r\n"
- delay: 7 - delay: 7
content: "Cloning into '/home/pi/RetroPie-Setup/tmp/build/amiberry'...\r\n" content: "Cloning into '/home/pi/RetroPie-Setup/tmp/build/amiberry'...\r\n"

View File

@ -66,7 +66,7 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CONFIG_H=1)
install(TARGETS ${PROJECT_NAME} install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib LIBRARY DESTINATION lib/amiberry
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
FRAMEWORK DESTINATION "/Library/Frameworks" FRAMEWORK DESTINATION "/Library/Frameworks"
PUBLIC_HEADER DESTINATION include/caps${INCLUDE_SUFFIX}) PUBLIC_HEADER DESTINATION include/caps${INCLUDE_SUFFIX})

View File

@ -27,6 +27,6 @@ endif ()
install(TARGETS ${PROJECT_NAME} install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION lib ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib LIBRARY DESTINATION lib/amiberry
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
) )

View File

@ -35,11 +35,11 @@ for file in $CWD_VAR/../Resources/Controllers/**/*(.); do
fi fi
done done
for file in $CWD_VAR/../Resources/Kickstarts/**/*(.); do for file in $CWD_VAR/../Resources/Roms/**/*(.); do
if [[ ! -f "$USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}" ]]; then if [[ ! -f "$USERDIR/Documents/Amiberry/Roms${file##*/Roms}" ]]; then
echo "Copying $file to $USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}" echo "Copying $file to $USERDIR/Documents/Amiberry/Roms${file##*/Roms}"
mkdir -p $(dirname "$USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}") mkdir -p $(dirname "$USERDIR/Documents/Amiberry/Roms${file##*/Roms}")
cp $file "$USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}" cp $file "$USERDIR/Documents/Amiberry/Roms${file##*/Roms}"
fi fi
done done

View File

@ -34,7 +34,7 @@ cp -R data Amiberry.app/Contents/Resources/Data
cp -R floppies Amiberry.app/Contents/Resources/Floppies cp -R floppies Amiberry.app/Contents/Resources/Floppies
cp -R harddrives Amiberry.app/Contents/Resources/Harddrives cp -R harddrives Amiberry.app/Contents/Resources/Harddrives
cp -R inputrecordings Amiberry.app/Contents/Resources/Inputrecordings cp -R inputrecordings Amiberry.app/Contents/Resources/Inputrecordings
cp -R kickstarts Amiberry.app/Contents/Resources/Kickstarts cp -R roms Amiberry.app/Contents/Resources/Roms
cp -R lha Amiberry.app/Contents/Resources/Lha cp -R lha Amiberry.app/Contents/Resources/Lha
cp -R nvram Amiberry.app/Contents/Resources/Nvram cp -R nvram Amiberry.app/Contents/Resources/Nvram
cp -R plugins Amiberry.app/Contents/Resources/Plugins cp -R plugins Amiberry.app/Contents/Resources/Plugins

View File

@ -9321,62 +9321,61 @@ static int bip_a1200 (struct uae_prefs *p, int config, int compa, int romcheck)
p->cs_rtc = 0; p->cs_rtc = 0;
p->cs_compatible = CP_A1200; p->cs_compatible = CP_A1200;
built_in_chipset_prefs (p); built_in_chipset_prefs (p);
switch (config) switch (config)
{ {
case 1: case 1:
p->fastmem[0].size = 0x400000; p->fastmem[0].size = 0x400000;
p->cs_rtc = 1; p->cs_rtc = 1;
break; break;
#ifdef WITH_CPUBOARD #ifdef WITH_CPUBOARD
case 2: case 2:
cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1230IV); cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1230IV);
p->cpuboardmem1.size = 32 * 1024 * 1024; p->cpuboardmem1.size = 32 * 1024 * 1024;
p->cpu_model = 68030; p->cpu_model = 68030;
p->cs_rtc = 1; p->cs_rtc = 1;
roms_bliz[0] = 89; roms_bliz[0] = 89;
configure_rom(p, roms_bliz, romcheck); configure_rom(p, roms_bliz, romcheck);
break; break;
case 3: case 3:
cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260); cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260);
p->cpuboardmem1.size = 32 * 1024 * 1024; p->cpuboardmem1.size = 32 * 1024 * 1024;
p->cpu_model = 68040; p->cpu_model = 68040;
p->fpu_model = 68040; p->fpu_model = 68040;
p->cs_rtc = 1; p->cs_rtc = 1;
roms_bliz[0] = 90; roms_bliz[0] = 90;
configure_rom(p, roms_bliz, romcheck); configure_rom(p, roms_bliz, romcheck);
break; break;
case 4: case 4:
cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260); cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260);
p->cpuboardmem1.size = 32 * 1024 * 1024; p->cpuboardmem1.size = 32 * 1024 * 1024;
p->cpu_model = 68060; p->cpu_model = 68060;
p->fpu_model = 68060; p->fpu_model = 68060;
p->cs_rtc = 1; p->cs_rtc = 1;
roms_bliz[0] = 90; roms_bliz[0] = 90;
configure_rom(p, roms_bliz, romcheck); configure_rom(p, roms_bliz, romcheck);
break; break;
#ifdef WITH_PPC #ifdef WITH_PPC
case 5: case 5:
cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_PPC); cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_PPC);
p->cpuboardmem1.size = 256 * 1024 * 1024; p->cpuboardmem1.size = 256 * 1024 * 1024;
p->cpu_model = 68060; p->cpu_model = 68060;
p->fpu_model = 68060; p->fpu_model = 68060;
p->ppc_mode = 1; p->ppc_mode = 1;
p->cs_rtc = 1; p->cs_rtc = 1;
roms[0] = 15; roms[0] = 15;
roms[1] = 11; roms[1] = 11;
roms[2] = -1; roms[2] = -1;
roms_bliz[0] = 100; roms_bliz[0] = 100;
configure_rom(p, roms_bliz, romcheck); configure_rom(p, roms_bliz, romcheck);
break; break;
#endif #endif
#else #else
case 2: case 2:
p->fastmem[0].size = 0x800000; p->fastmem[0].size = 0x800000;
p->cs_rtc = 1; p->cs_rtc = 1;
break; break;
#endif #endif
}
}
set_68020_compa (p, compa, 0); set_68020_compa (p, compa, 0);
return configure_rom (p, roms, romcheck); return configure_rom (p, roms, romcheck);
} }

View File

@ -859,7 +859,7 @@ void usage()
std::cout << " -O <value> Set graphics specs." << '\n'; std::cout << " -O <value> Set graphics specs." << '\n';
std::cout << " -H <value> Color mode." << '\n'; std::cout << " -H <value> Color mode." << '\n';
std::cout << " -o <amiberry cnf>=<value> Set Amiberry configuration parameter with value." << '\n'; std::cout << " -o <amiberry cnf>=<value> Set Amiberry configuration parameter with value." << '\n';
std::cout << " See: https://github.com/midwan/amiberry/wiki/Amiberry.conf-options" << std::cout << " See: https://github.com/BlitterStudio/amiberry/wiki/Amiberry.conf-options" <<
'\n'; '\n';
std::cout << "\nExample 1:" << '\n'; std::cout << "\nExample 1:" << '\n';
std::cout << "amiberry --model A1200 -G" << '\n'; std::cout << "amiberry --model A1200 -G" << '\n';
@ -1392,7 +1392,7 @@ void download_rtb(const std::string& filename)
if (!file_exists(destination)) if (!file_exists(destination))
{ {
write_log("Downloading %s ...\n", destination.c_str()); write_log("Downloading %s ...\n", destination.c_str());
const std::string url = "https://github.com/midwan/amiberry/blob/master/whdboot/save-data/Kickstarts/" + filename + "?raw=true"; const std::string url = "https://github.com/BlitterStudio/amiberry/blob/master/whdboot/save-data/Kickstarts/" + filename + "?raw=true";
download_file(url, destination, false); download_file(url, destination, false);
} }
} }

View File

@ -1774,7 +1774,7 @@ static bool load_kickstart_replacement(void)
auto* arosrom = zfile_load_file(path, &arosrom_len); auto* arosrom = zfile_load_file(path, &arosrom_len);
if (arosrom == nullptr) if (arosrom == nullptr)
{ {
gui_message("Could not find the 'aros-ext.bin' file in the Kickstarts directory!"); gui_message("Could not find the 'aros-ext.bin' file in the ROMs directory!");
return false; return false;
} }
struct zfile* f = zfile_fopen_data(path, arosrom_len, arosrom); struct zfile* f = zfile_fopen_data(path, arosrom_len, arosrom);
@ -1807,7 +1807,7 @@ static bool load_kickstart_replacement(void)
arosrom = zfile_load_file(path, &arosrom_len); arosrom = zfile_load_file(path, &arosrom_len);
if (arosrom == nullptr) if (arosrom == nullptr)
{ {
gui_message("Could not find the 'aros-rom.bin' file in the Kickstarts directory!"); gui_message("Could not find the 'aros-rom.bin' file in the ROMs directory!");
return false; return false;
} }
f = zfile_fopen_data(path, arosrom_len, arosrom); f = zfile_fopen_data(path, arosrom_len, arosrom);

View File

@ -3930,7 +3930,7 @@ void init_macos_amiberry_folders(const std::string& macos_amiberry_directory)
if (!my_existsdir(directory.c_str())) if (!my_existsdir(directory.c_str()))
my_mkdir(directory.c_str()); my_mkdir(directory.c_str());
directory = macos_amiberry_directory + "/Kickstarts"; directory = macos_amiberry_directory + "/Roms";
if (!my_existsdir(directory.c_str())) if (!my_existsdir(directory.c_str()))
my_mkdir(directory.c_str()); my_mkdir(directory.c_str());
@ -4015,7 +4015,7 @@ void macos_copy_amiberry_files_to_userdir(std::string macos_amiberry_directory)
} }
#endif #endif
static void init_amiberry_paths(const std::string& data_directory, const std::string& home_directory, const std::string& config_directory) static void init_amiberry_paths(const std::string& data_directory, const std::string& home_directory, const std::string& config_directory, const std::string& plugins_directory)
{ {
current_dir = home_dir = home_directory; current_dir = home_dir = home_directory;
#ifdef __MACH__ #ifdef __MACH__
@ -4050,7 +4050,7 @@ static void init_amiberry_paths(const std::string& data_directory, const std::st
harddrive_path.append("/Harddrives/"); harddrive_path.append("/Harddrives/");
cdrom_path.append("/CDROMs/"); cdrom_path.append("/CDROMs/");
logfile_path.append("/Amiberry.log"); logfile_path.append("/Amiberry.log");
rom_path.append("/Kickstarts/"); rom_path.append("/Roms/");
rp9_path.append("/RP9/"); rp9_path.append("/RP9/");
saveimage_dir.append("/Savestates/"); saveimage_dir.append("/Savestates/");
savestate_dir.append("/Savestates/"); savestate_dir.append("/Savestates/");
@ -4065,32 +4065,118 @@ static void init_amiberry_paths(const std::string& data_directory, const std::st
amiberry_conf_file.append("amiberry.conf"); amiberry_conf_file.append("amiberry.conf");
#else #else
data_dir = data_directory; data_dir = data_directory;
data_dir.append("/data/");
config_path = config_directory; config_path = config_directory;
plugins_dir = plugins_directory;
// Just in case this is missing, and we need to create it (e.g. not installed system-wide)
if (!my_existsdir(plugins_dir.c_str()))
my_mkdir(plugins_dir.c_str());
controllers_path = whdboot_path = whdload_arch_path = floppy_path = harddrive_path = cdrom_path = controllers_path = whdboot_path = whdload_arch_path = floppy_path = harddrive_path = cdrom_path =
logfile_path = rom_path = rp9_path = saveimage_dir = savestate_dir = ripper_path = logfile_path = rom_path = rp9_path = saveimage_dir = savestate_dir = ripper_path =
input_dir = screenshot_dir = nvram_dir = plugins_dir = video_dir = input_dir = screenshot_dir = nvram_dir = video_dir =
home_directory; home_directory;
controllers_path.append("/controllers/"); controllers_path.append("/controllers/");
data_dir.append("/data/"); if (!my_existsdir(controllers_path.c_str()))
{
my_mkdir(controllers_path.c_str());
// copy default controller files, if they exist in /usr/share/amiberry/controllers
const std::string default_controller_path = "/usr/share/amiberry/controllers/";
if (my_existsdir(default_controller_path.c_str()))
{
const std::string command = "cp -r " + default_controller_path + "* " + controllers_path;
system(command.c_str());
}
// change permissions to user writable
std::string command = "chmod -R 755 " + controllers_path;
}
whdboot_path.append("/whdboot/"); whdboot_path.append("/whdboot/");
if (!my_existsdir(whdboot_path.c_str()))
{
my_mkdir(whdboot_path.c_str());
// copy default whdboot files, if they exist in /usr/share/amiberry/whdboot
const std::string default_whdboot_path = "/usr/share/amiberry/whdboot/";
if (my_existsdir(default_whdboot_path.c_str()))
{
const std::string command = "cp -r " + default_whdboot_path + "* " + whdboot_path;
system(command.c_str());
}
// change permissions to user writable
std::string command = "chmod -R 755 " + whdboot_path;
}
whdload_arch_path.append("/lha/"); whdload_arch_path.append("/lha/");
if (!my_existsdir(whdload_arch_path.c_str()))
my_mkdir(whdload_arch_path.c_str());
floppy_path.append("/floppies/"); floppy_path.append("/floppies/");
if (!my_existsdir(floppy_path.c_str()))
my_mkdir(floppy_path.c_str());
harddrive_path.append("/harddrives/"); harddrive_path.append("/harddrives/");
if (!my_existsdir(harddrive_path.c_str()))
my_mkdir(harddrive_path.c_str());
cdrom_path.append("/cdroms/"); cdrom_path.append("/cdroms/");
if (!my_existsdir(cdrom_path.c_str()))
my_mkdir(cdrom_path.c_str());
logfile_path.append("/amiberry.log"); logfile_path.append("/amiberry.log");
rom_path.append("/kickstarts/");
rom_path.append("/roms/");
if (!my_existsdir(rom_path.c_str()))
{
my_mkdir(rom_path.c_str());
// copy default kickstart files, if they exist in /usr/share/amiberry/roms
const std::string default_kickstart_path = "/usr/share/amiberry/roms/";
if (my_existsdir(default_kickstart_path.c_str()))
{
const std::string command = "cp -r " + default_kickstart_path + "* " + rom_path;
system(command.c_str());
}
// change permissions to user writable
std::string command = "chmod -R 755 " + rom_path;
}
rp9_path.append("/rp9/"); rp9_path.append("/rp9/");
if (!my_existsdir(rp9_path.c_str()))
my_mkdir(rp9_path.c_str());
saveimage_dir.append("/savestates/"); saveimage_dir.append("/savestates/");
if (!my_existsdir(saveimage_dir.c_str()))
my_mkdir(saveimage_dir.c_str());
savestate_dir.append("/savestates/"); savestate_dir.append("/savestates/");
if (!my_existsdir(savestate_dir.c_str()))
my_mkdir(savestate_dir.c_str());
ripper_path.append("/ripper/"); ripper_path.append("/ripper/");
if (!my_existsdir(ripper_path.c_str()))
my_mkdir(ripper_path.c_str());
input_dir.append("/inputrecordings/"); input_dir.append("/inputrecordings/");
if (!my_existsdir(input_dir.c_str()))
my_mkdir(input_dir.c_str());
screenshot_dir.append("/screenshots/"); screenshot_dir.append("/screenshots/");
if (!my_existsdir(screenshot_dir.c_str()))
my_mkdir(screenshot_dir.c_str());
nvram_dir.append("/nvram/"); nvram_dir.append("/nvram/");
plugins_dir.append("/plugins/"); if (!my_existsdir(nvram_dir.c_str()))
my_mkdir(nvram_dir.c_str());
video_dir.append("/videos/"); video_dir.append("/videos/");
if (!my_existsdir(video_dir.c_str()))
my_mkdir(video_dir.c_str());
amiberry_conf_file = config_path; amiberry_conf_file = config_path;
if (!my_existsdir(config_path.c_str()))
my_mkdir(config_path.c_str());
amiberry_conf_file.append("/amiberry.conf"); amiberry_conf_file.append("/amiberry.conf");
#endif #endif
@ -4147,7 +4233,7 @@ uae_u32 emulib_target_getcpurate(uae_u32 v, uae_u32* low)
*low = 0; *low = 0;
if (v == 1) if (v == 1)
{ {
*low = 1e+9; /* We have nano seconds */ *low = 1e+9; /* We have nanoseconds */
return 0; return 0;
} }
if (v == 2) if (v == 2)
@ -4221,13 +4307,14 @@ std::string get_data_directory()
if (env_data_dir != nullptr && directory_exists(env_data_dir, "/data")) if (env_data_dir != nullptr && directory_exists(env_data_dir, "/data"))
{ {
// If the ENV variable is set, use it // If the ENV variable is set, and it actually contains our data dir, use it
write_log("Using data directory from AMIBERRY_DATA_DIR: %s\n", env_data_dir); write_log("Using data directory from AMIBERRY_DATA_DIR: %s\n", env_data_dir);
return { env_data_dir }; return { env_data_dir };
} }
if (directory_exists("/usr/share/amiberry", "/data")) if (directory_exists("/usr/share/amiberry", "/data"))
{ {
// If the data directory exists, use it // If the data directory exists in /usr/share/amiberry, use it
// This would be the default location after an installation with the .deb package
write_log("Using data directory from /usr/share/amiberry\n"); write_log("Using data directory from /usr/share/amiberry\n");
return "/usr/share/amiberry"; return "/usr/share/amiberry";
} }
@ -4263,12 +4350,17 @@ std::string get_home_directory()
write_log("Using home directory from XDG_DATA_HOME: %s\n", xdg_data_home); write_log("Using home directory from XDG_DATA_HOME: %s\n", xdg_data_home);
return { xdg_data_home }; return { xdg_data_home };
} }
if (user_home_dir != nullptr && directory_exists(user_home_dir, "/.amiberry")) if (user_home_dir != nullptr)
{ {
// $HOME/.amiberry exists, use it if (!directory_exists(user_home_dir, "/Amiberry"))
write_log("Using home directory from $HOME/.amiberry\n"); {
// If $HOME exists, but not the Amiberry subdirectory, create it
my_mkdir((std::string(user_home_dir) + "/Amiberry").c_str());
}
// $HOME/Amiberry exists, use it
write_log("Using home directory from $HOME/Amiberry\n");
std::string result = std::string(user_home_dir); std::string result = std::string(user_home_dir);
return result.append("/.amiberry"); return result.append("/Amiberry");
} }
// Fallback Portable mode, all in startup path // Fallback Portable mode, all in startup path
@ -4290,34 +4382,74 @@ std::string get_config_directory()
write_log("Using config directory from XDG_CONFIG_HOME: %s\n", env_conf_dir); write_log("Using config directory from XDG_CONFIG_HOME: %s\n", env_conf_dir);
return { env_conf_dir }; return { env_conf_dir };
} }
if (xdg_config_home != nullptr && directory_exists(xdg_config_home, "/amiberry")) if (xdg_config_home != nullptr)
{ {
// If the XDG_CONFIG_HOME is set, use it // If the XDG_CONFIG_HOME is set, use it
if (!directory_exists(xdg_config_home, "/amiberry"))
{
// If the XDG_CONFIG_HOME exists, but not the amiberry subdirectory, create it
my_mkdir((std::string(xdg_config_home) + "/amiberry").c_str());
}
write_log("Using config directory from XDG_CONFIG_HOME: %s\n", xdg_config_home); write_log("Using config directory from XDG_CONFIG_HOME: %s\n", xdg_config_home);
return { std::string(xdg_config_home) + "/amiberry" }; return { std::string(xdg_config_home) + "/amiberry" };
} }
if (user_home_dir != nullptr && directory_exists(user_home_dir, "/.config/amiberry")) if (user_home_dir != nullptr)
{ {
// $HOME/.config/amiberry exists, use it if (!directory_exists(user_home_dir, "/Amiberry"))
write_log("Using config directory from $HOME/.config/amiberry\n"); {
my_mkdir((std::string(user_home_dir) + "/Amiberry").c_str());
}
// $HOME/Amiberry exists, use it
if (!directory_exists(user_home_dir, "/Amiberry/conf"))
{
my_mkdir((std::string(user_home_dir) + "/Amiberry/conf").c_str());
}
// This should be the most used scenario
write_log("Using config directory from $HOME/Amiberry/conf\n");
auto result = std::string(user_home_dir); auto result = std::string(user_home_dir);
return result.append("/.config/amiberry"); return result.append("/Amiberry/conf");
}
if (user_home_dir != nullptr && directory_exists(user_home_dir, "/.amiberry/conf"))
{
// $HOME/.amiberry/conf exists, use it
write_log("Using config directory from $HOME/.amiberry/conf\n");
auto result = std::string(user_home_dir);
return result.append("/.amiberry/conf");
} }
// Fallback Portable mode, all in startup path // Fallback Portable mode, all in startup path
// Should never really end up here, unless $HOME is not defined
write_log("Using config directory from startup path\n"); write_log("Using config directory from startup path\n");
char tmp[MAX_DPATH]; char tmp[MAX_DPATH];
getcwd(tmp, MAX_DPATH); getcwd(tmp, MAX_DPATH);
return { std::string(tmp) + "/conf" }; return { std::string(tmp) + "/conf" };
} }
std::string get_plugins_directory()
{
// Check if we have the plugins installed system-wide (with a .deb package)
if (directory_exists("/usr/lib", "/amiberry"))
{
write_log("Using plugins directory from /usr/lib/amiberry\n");
return "/usr/lib/amiberry";
}
const auto user_home_dir = getenv("HOME");
if (user_home_dir != nullptr)
{
if (!directory_exists(user_home_dir, "/Amiberry"))
{
my_mkdir((std::string(user_home_dir) + "/Amiberry").c_str());
}
// $HOME/Amiberry exists, use it
if (!directory_exists(user_home_dir, "/Amiberry/plugins"))
{
my_mkdir((std::string(user_home_dir) + "/Amiberry/plugins").c_str());
}
write_log("Using plugins directory from $HOME/Amiberry/plugins\n");
return { std::string(user_home_dir) + "/Amiberry/plugins" };
}
// Fallback Portable mode, all in the startup path
write_log("Using plugins directory from startup path\n");
char tmp[MAX_DPATH];
getcwd(tmp, MAX_DPATH);
return { std::string(tmp) + "/plugins" };
}
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
for (auto i = 1; i < argc; i++) { for (auto i = 1; i < argc; i++) {
@ -4347,8 +4479,9 @@ int main(int argc, char* argv[])
const std::string data_directory = get_data_directory(); const std::string data_directory = get_data_directory();
const std::string home_directory = get_home_directory(); const std::string home_directory = get_home_directory();
const std::string config_directory = get_config_directory(); const std::string config_directory = get_config_directory();
const std::string plugins_directory = get_plugins_directory();
init_amiberry_paths(data_directory, home_directory, config_directory); init_amiberry_paths(data_directory, home_directory, config_directory, plugins_directory);
// Parse command line to possibly set amiberry_config. // Parse command line to possibly set amiberry_config.
// Do not remove used args yet. // Do not remove used args yet.

View File

@ -1033,10 +1033,9 @@ static int init_joystick()
num_joystick = MAX_INPUT_DEVICES; num_joystick = MAX_INPUT_DEVICES;
// set up variables / paths etc. // set up variables / paths etc.
char cfg[MAX_DPATH]; std::string cfg = get_controllers_path();
get_configuration_path(cfg, MAX_DPATH); cfg += "gamecontrollerdb.txt";
strcat(cfg, "gamecontrollerdb.txt"); SDL_GameControllerAddMappingsFromFile(cfg.c_str());
SDL_GameControllerAddMappingsFromFile(cfg);
std::string controllers = get_controllers_path(); std::string controllers = get_controllers_path();
controllers.append("gamecontrollerdb_user.txt"); controllers.append("gamecontrollerdb_user.txt");

View File

@ -33,7 +33,7 @@ extern char last_loaded_config[MAX_DPATH];
enum enum
{ {
A600_CONFIG = 3, // 8MB fast ram A600_CONFIG = 3, // 8MB fast ram
A1200_CONFIG = 2 // 8MB fast ram A1200_CONFIG = 1 // 8MB fast ram
}; };
struct game_hardware_options struct game_hardware_options
@ -1368,6 +1368,8 @@ void whdload_auto_prefs(uae_prefs* prefs, const char* filepath)
// SET THE BASE AMIGA (Expanded A1200) // SET THE BASE AMIGA (Expanded A1200)
write_log("WHDBooter - Host: A1200 ROM selected\n"); write_log("WHDBooter - Host: A1200 ROM selected\n");
built_in_prefs(prefs, 4, A1200_CONFIG, 0, 0); built_in_prefs(prefs, 4, A1200_CONFIG, 0, 0);
// set 8MB Fast RAM
prefs->fastmem[0].size = 0x800000;
_tcscpy(prefs->description, _T("AutoBoot Configuration [WHDLoad] [AGA]")); _tcscpy(prefs->description, _T("AutoBoot Configuration [WHDLoad] [AGA]"));
} }
else else

View File

@ -314,12 +314,12 @@ public:
// download WHDLoad executable // download WHDLoad executable
destination = prefix_with_whdboot_path("WHDLoad"); destination = prefix_with_whdboot_path("WHDLoad");
write_log("Downloading %s ...\n", destination.c_str()); write_log("Downloading %s ...\n", destination.c_str());
download_file("https://github.com/midwan/amiberry/blob/master/whdboot/WHDLoad?raw=true", destination, false); download_file("https://github.com/BlitterStudio/amiberry/blob/master/whdboot/WHDLoad?raw=true", destination, false);
// download boot-data.zip // download boot-data.zip
destination = prefix_with_whdboot_path("boot-data.zip"); destination = prefix_with_whdboot_path("boot-data.zip");
write_log("Downloading %s ...\n", destination.c_str()); write_log("Downloading %s ...\n", destination.c_str());
download_file("https://github.com/midwan/amiberry/blob/master/whdboot/boot-data.zip?raw=true", destination, false); download_file("https://github.com/BlitterStudio/amiberry/blob/master/whdboot/boot-data.zip?raw=true", destination, false);
// download kickstart RTB files for maximum compatibility // download kickstart RTB files for maximum compatibility
download_rtb("kick33180.A500.RTB"); download_rtb("kick33180.A500.RTB");
@ -352,9 +352,7 @@ class DownloadControllerDbActionListener : public gcn::ActionListener
public: public:
void action(const gcn::ActionEvent& actionEvent) override void action(const gcn::ActionEvent& actionEvent) override
{ {
char config_path[MAX_DPATH]; std::string destination = get_controllers_path();
get_configuration_path(config_path, MAX_DPATH);
auto destination = std::string(config_path);
destination += "gamecontrollerdb.txt"; destination += "gamecontrollerdb.txt";
write_log("Downloading % ...\n", destination.c_str()); write_log("Downloading % ...\n", destination.c_str());
const auto* const url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt"; const auto* const url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt";
@ -876,7 +874,7 @@ bool HelpPanelPaths(std::vector<std::string>& helptext)
helptext.emplace_back("custom edits that may have been made."); helptext.emplace_back("custom edits that may have been made.");
helptext.emplace_back(" "); helptext.emplace_back(" ");
helptext.emplace_back("The \"Update Controllers DB\" button will attempt to download the latest version of"); helptext.emplace_back("The \"Update Controllers DB\" button will attempt to download the latest version of");
helptext.emplace_back("the bundled gamecontrollerdb.txt file, to be stored in the Configuration files path."); helptext.emplace_back("the bundled gamecontrollerdb.txt file, to be stored in the Controllers files path.");
helptext.emplace_back("The file contains the \"official\" mappings for recognized controllers by SDL2 itself."); helptext.emplace_back("The file contains the \"official\" mappings for recognized controllers by SDL2 itself.");
helptext.emplace_back("Please note that this is separate from the user-configurable gamecontrollerdb_user.txt"); helptext.emplace_back("Please note that this is separate from the user-configurable gamecontrollerdb_user.txt");
helptext.emplace_back("file, which is contained in the Controllers path. That file is never overwritten, and"); helptext.emplace_back("file, which is contained in the Controllers path. That file is never overwritten, and");
@ -887,7 +885,7 @@ bool HelpPanelPaths(std::vector<std::string>& helptext)
helptext.emplace_back(" "); helptext.emplace_back(" ");
helptext.emplace_back("The paths for Amiberry resources include;"); helptext.emplace_back("The paths for Amiberry resources include;");
helptext.emplace_back(" "); helptext.emplace_back(" ");
helptext.emplace_back("- System ROMs: The Amiga Kickstart files are by default located under 'kickstarts'."); helptext.emplace_back("- System ROMs: The Amiga Kickstart files are by default located under 'roms'.");
helptext.emplace_back(" After changing the location of the Kickstart ROMs, or adding any additional ROMs, "); helptext.emplace_back(" After changing the location of the Kickstart ROMs, or adding any additional ROMs, ");
helptext.emplace_back(" click on the \"Rescan\" button to refresh the list of the available ROMs. Please"); helptext.emplace_back(" click on the \"Rescan\" button to refresh the list of the available ROMs. Please");
helptext.emplace_back(" note that MT-32 ROM files may also reside here, or in a \"mt32-roms\" directory"); helptext.emplace_back(" note that MT-32 ROM files may also reside here, or in a \"mt32-roms\" directory");