├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── notifications.yml │ └── stale.yml ├── .gitignore ├── Credits ├── Credits Usage.txt ├── Credits.txt └── clean-credits.py ├── Directory.Build.props ├── GlobalSuppressions.cs ├── IronyModManager.sln ├── LICENSE ├── Readme.md ├── References ├── Conditional │ └── Steamworks │ │ ├── OSX-Linux-x64 │ │ ├── libsteam_api.so │ │ └── steam_api.bundle │ │ │ ├── Contents.meta │ │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── Info.plist.meta │ │ │ ├── MacOS.meta │ │ │ └── MacOS │ │ │ ├── libsteam_api.dylib │ │ │ └── libsteam_api.dylib.meta │ │ └── Windows-x64 │ │ └── steam_api64.dll ├── CopyAll │ ├── Databases │ │ └── empty_paradox_launcher.sqlite │ ├── Maps │ │ ├── HeartsofIronIVParserMap.json │ │ └── StellarisParserMap.json │ └── Plugins │ │ └── Note.txt └── Direct │ ├── Avalonia.HtmlRenderer.dll │ ├── Avalonia.Wayland.dll │ ├── LiteDB.dll │ ├── NWayland.dll │ ├── ProDotNetZip.dll │ └── Readme.txt ├── Test.runsettings ├── Tools └── LocalizationResourceGenerator │ └── src │ ├── LocalizationResourceGenerator.sln │ └── LocalizationResourceGenerator │ ├── LocalizationResourceGenerator.csproj │ └── Program.cs ├── Wireframes ├── Conflict Solver Rework.epgz └── IronyModManager.epgz ├── cmd ├── build-tools.bat ├── clean-solution-full.bat ├── clean-solution-partial.bat ├── copy-dependencies.bat ├── kill-dotnet.bat ├── kill-process.bat ├── run-tools.bat └── update-versioning.bat ├── nuget.config ├── publish ├── publish-all.bat ├── publish-linux-x64.bat ├── publish-osx-x64.bat ├── publish-win-x64-setup.bat ├── publish-win-x64.bat └── setup │ ├── ChineseSimplified.isl │ ├── Croatian.isl │ └── win-installer.iss ├── src ├── Irony.AppCastGenerator │ ├── Irony.AppCastGenerator.csproj │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ └── SignatureManager.cs ├── IronyModManager.Common │ ├── Events │ │ ├── ActiveGameRequestEvent.cs │ │ ├── Enums.cs │ │ ├── ForceClosePopulsEventArgs.cs │ │ ├── GameExeChangedEvent.cs │ │ ├── GameUserDirectoryChangedEvent.cs │ │ ├── LocaleChangedEventArgs.cs │ │ ├── ModCollectionChangeRequestEvent.cs │ │ ├── NavigationEventArgs.cs │ │ ├── OverlayProgressEvent.cs │ │ ├── SelectedGameChangedEventArgs.cs │ │ ├── ShutdownStateEventArgs.cs │ │ └── ThemeChangedEventArgs.cs │ ├── Extensions.cs │ ├── Helpers.cs │ ├── IViewResolver.cs │ ├── IronyModManager.Common.csproj │ ├── MiniCommand.cs │ ├── Module.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ ├── ViewModels │ │ ├── BaseViewModel.cs │ │ └── IViewModel.cs │ └── Views │ │ ├── BaseControl.cs │ │ ├── BaseWindow.cs │ │ └── IBaseWindow.cs ├── IronyModManager.DI │ ├── Assemblies │ │ ├── AssemblyFinder.cs │ │ ├── AssemblyFinderParams.cs │ │ ├── AssemblyManager.cs │ │ ├── SharedLoadContext.cs │ │ ├── StrongName.cs │ │ └── StrongNamePublicKeyBlob.cs │ ├── Bootstrap.cs │ ├── Constants.cs │ ├── DIContainer.cs │ ├── DIOptions.cs │ ├── DIResolver.cs │ ├── Extensions │ │ ├── DisableDiagnosticWarnings.cs │ │ ├── InterceptorExtensions.cs │ │ └── ResolvingFactoriesExtensions.cs │ ├── IronyModManager.DI.csproj │ ├── Json │ │ ├── JsonDIConverter.cs │ │ └── WritablePropertiesResolver.cs │ ├── JsonDISerializer.cs │ ├── Mappers │ │ └── MapperFinder.cs │ ├── MessageBus │ │ ├── MessageBus.cs │ │ ├── MessageBusDependencyResolver.cs │ │ ├── MessageBusMemoryProvider.cs │ │ ├── MessageBusRegistration.cs │ │ ├── MessageBusValidationService.cs │ │ └── MessageTypeResolver.cs │ ├── Module.cs │ ├── PostStartup │ │ └── PostStartupFinder.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ └── Readers │ │ └── ResourceReader.cs ├── IronyModManager.GameHandler │ ├── CommandLineArgs.cs │ ├── IronyModManager.GameHandler.csproj │ ├── Logger.cs │ ├── Program.cs │ └── Properties │ │ └── PublishProfiles │ │ ├── linux-x64.pubxml │ │ ├── osx-x64.pubxml │ │ └── win-x64.pubxml ├── IronyModManager.IO.Common │ ├── Constants.cs │ ├── DLC │ │ ├── DLCParameters.cs │ │ └── IDLCExporter.cs │ ├── DiskOperations.cs │ ├── Enums.cs │ ├── Game │ │ └── IGameIndexer.cs │ ├── IDriveInfoProvider.cs │ ├── IReportExporter.cs │ ├── IronyModManager.IO.Common.csproj │ ├── MessageBus │ │ ├── ModExportProgressEvent.cs │ │ ├── UpdateUnpackProgressEvent.cs │ │ └── WritingStateOperationEvent.cs │ ├── Models │ │ └── ICollectionImportResult.cs │ ├── Mods │ │ ├── IDefinitionInfoProvider.cs │ │ ├── IModCollectionExporter.cs │ │ ├── IModMergeCompressExporter.cs │ │ ├── IModMergeExporter.cs │ │ ├── IModPatchExporter.cs │ │ ├── IModWriter.cs │ │ ├── ModCollectionExporterParams.cs │ │ ├── ModMergeCompressExporterParameters.cs │ │ ├── ModMergeFileExporterParameters.cs │ │ ├── ModPatchExporterParameters.cs │ │ ├── ModWriterParameters.cs │ │ └── Models │ │ │ └── IPatchState.cs │ ├── Module.cs │ ├── PathOperations.cs │ ├── Platforms │ │ ├── IParadoxLauncher.cs │ │ └── ISteam.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ ├── Readers │ │ ├── IFileInfo.cs │ │ ├── IFileReader.cs │ │ └── IReader.cs │ ├── Streams │ │ └── OnDemandFileStream.cs │ └── Updater │ │ └── IUnpacker.cs ├── IronyModManager.IO.Tests │ ├── IronyModManager.IO.Tests.csproj │ ├── Module.cs │ ├── ReaderTests.cs │ └── StellarisDefinitionMergerTests.cs ├── IronyModManager.IO │ ├── DIPackage.cs │ ├── DLC │ │ └── DLCExporter.cs │ ├── DriveInfoProvider.cs │ ├── Game │ │ ├── DefinitionBsonMapper.cs │ │ ├── DefinitionTypeBinder.cs │ │ └── GameIndexer.cs │ ├── Images │ │ ├── DDSDecoder.cs │ │ └── ImageReader.cs │ ├── IronyModManager.IO.csproj │ ├── MappingProfile.cs │ ├── Models │ │ └── CollectionImportResult.cs │ ├── Mods │ │ ├── Constants.cs │ │ ├── Exporter │ │ │ ├── BaseExporter.cs │ │ │ ├── JsonExporter.cs │ │ │ ├── ParadoxLauncherExporter.cs │ │ │ ├── ParadoxLauncherExporter202110.cs │ │ │ └── SQLiteExporter.cs │ │ ├── Importers │ │ │ ├── ParadoxImporter.cs │ │ │ ├── ParadoxLauncherImporter.cs │ │ │ ├── ParadoxLauncherImporterBeta.cs │ │ │ └── ParadoxosImporter.cs │ │ ├── InfoProviders │ │ │ ├── BaseDefinitionInfoProvider.cs │ │ │ ├── HOI4DefinitionInfoProvider.cs │ │ │ └── StellarisDefinitionInfoProvider.cs │ │ ├── ModCollectionExporter.cs │ │ ├── ModMergeCompressExporter.cs │ │ ├── ModMergeExporter.cs │ │ ├── ModPatchExporter.cs │ │ ├── ModWriter.cs │ │ ├── Models │ │ │ ├── Paradox │ │ │ │ ├── Common │ │ │ │ │ ├── ContentLoad.cs │ │ │ │ │ ├── DLCLoad.cs │ │ │ │ │ ├── IPdxFormat.cs │ │ │ │ │ └── IPdxMod.cs │ │ │ │ ├── Json │ │ │ │ │ ├── v2 │ │ │ │ │ │ ├── ModInfo.cs │ │ │ │ │ │ └── Mods.cs │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── ModInfo.cs │ │ │ │ │ │ └── Mods.cs │ │ │ │ ├── PropertyHandlers │ │ │ │ │ ├── JsonStringToListHandler.cs │ │ │ │ │ ├── LongToDateTimeHandler.cs │ │ │ │ │ └── ObjectToBoolHandler.cs │ │ │ │ ├── v1 │ │ │ │ │ ├── GameData.cs │ │ │ │ │ └── ModRegistry.cs │ │ │ │ ├── v2 │ │ │ │ │ ├── KnoxMigrations.cs │ │ │ │ │ ├── Mods.cs │ │ │ │ │ ├── Playsets.cs │ │ │ │ │ └── PlaysetsMods.cs │ │ │ │ ├── v3 │ │ │ │ │ └── Playsets.cs │ │ │ │ ├── v4 │ │ │ │ │ ├── Mods.cs │ │ │ │ │ ├── Playsets.cs │ │ │ │ │ └── PlaysetsMods.cs │ │ │ │ └── v5 │ │ │ │ │ └── Mods.cs │ │ │ ├── Paradoxos │ │ │ │ └── Paradoxos.cs │ │ │ └── PatchState.cs │ │ └── SQLTraceLog.cs │ ├── Module.cs │ ├── OrmInitialization.cs │ ├── Platforms │ │ ├── ParadoxLauncherHandler.cs │ │ └── SteamHandler.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ ├── Readers │ │ ├── ArchiveFileReader.cs │ │ ├── BaseSpecializedDiskReader.cs │ │ ├── BuiltInDLCFileReader.cs │ │ ├── DLCFileReader.cs │ │ ├── DiskFileReader.cs │ │ ├── Extensions.cs │ │ ├── FileInfo.cs │ │ ├── JsonFileReader.cs │ │ ├── JsonModFileReader.cs │ │ ├── ModFileReader.cs │ │ └── Reader.cs │ ├── ReportExporter.cs │ ├── TempFile │ │ └── TempFile.cs │ ├── Updater │ │ └── Unpacker.cs │ └── ZipExtractionOpts.cs ├── IronyModManager.Localization.Tests │ ├── AutoRefreshLocalizationAttributeHandlerTests.cs │ ├── DynamicLocalizationAttributeHandlerTests.cs │ ├── IronyModManager.Localization.Tests.csproj │ ├── LocalizationCollectionRefreshHandlerTests.cs │ ├── LocalizationInterceptorTests.cs │ ├── LocalizationManagerTests.cs │ ├── LocalizationModelRefreshHandlerTests.cs │ ├── Module.cs │ ├── StaticLocalizationAttributeHandlerTests.cs │ └── xunit.runner.json ├── IronyModManager.Localization │ ├── Attributes │ │ ├── AutoRefreshLocalizationAttribute.cs │ │ ├── DynamicLocalizationAttribute.cs │ │ ├── Handlers │ │ │ ├── AttributeHandlersArgs.cs │ │ │ ├── AutoRefreshLocalizationAttributeHandler.cs │ │ │ ├── DynamicLocalizationAttributeHandler.cs │ │ │ ├── ILocalizationAttributeHandler.cs │ │ │ ├── ILocalizationRefreshHandlers.cs │ │ │ ├── LocalizationCollectionRefreshHandler.cs │ │ │ ├── LocalizationModelRefreshHandler.cs │ │ │ ├── LocalizationRefreshArgs.cs │ │ │ └── StaticLocalizationAttributeHandler.cs │ │ ├── LocalizationAttributeBase.cs │ │ └── StaticLocalizationAttribute.cs │ ├── CurrentLocale.cs │ ├── DIPackage.cs │ ├── Extensions.cs │ ├── ILocalizableModel.cs │ ├── ILocalizableViewModel.cs │ ├── ILocalizationManager.cs │ ├── IronyModManager.Localization.csproj │ ├── LocalizationInterceptor.cs │ ├── LocalizationManager.cs │ ├── Module.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ └── ResourceProviders │ │ ├── BaseLocalizationResourceProvider.cs │ │ ├── IDefaultLocalizationResourceProvider.cs │ │ └── ILocalizationResourceProvider.cs ├── IronyModManager.Model.Tests │ ├── IronyModManager.Model.Tests.csproj │ ├── Module.cs │ ├── PropertyChangedTests.cs │ └── xunit.runner.json ├── IronyModManager.Models.Common │ ├── BaseModel.cs │ ├── Enums.cs │ ├── IAppState.cs │ ├── IConflictResult.cs │ ├── IConflictSolverColors.cs │ ├── IDLC.cs │ ├── IExternalEditor.cs │ ├── IExternalEditorFiles.cs │ ├── IGame.cs │ ├── IGameLanguage.cs │ ├── IGameSettings.cs │ ├── IHashFileReport.cs │ ├── IHashReport.cs │ ├── ILanguage.cs │ ├── IMod.cs │ ├── IModCollection.cs │ ├── IModCollectionSourceInfo.cs │ ├── IModIgnoreConfiguration.cs │ ├── IModInstallationResult.cs │ ├── IModel.cs │ ├── INotificationPosition.cs │ ├── IPermissionCheckResult.cs │ ├── IPreferences.cs │ ├── IPriorityDefinitionResult.cs │ ├── IPromptNotifications.cs │ ├── ITheme.cs │ ├── IUpdateSettings.cs │ ├── IValidateResult.cs │ ├── IWindowState.cs │ ├── IronyModManager.Models.Common.csproj │ ├── Module.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ └── PropertyChangedInterceptor.cs ├── IronyModManager.Models │ ├── AppState.cs │ ├── ConflictResult.cs │ ├── ConflictSolverColors.cs │ ├── DIPackage.cs │ ├── DLC.cs │ ├── Extensions.cs │ ├── ExternalEditor.cs │ ├── ExternalEditorFiles.cs │ ├── Game.cs │ ├── GameLanguage.cs │ ├── GameSettings.cs │ ├── HashFileReport.cs │ ├── HashReport.cs │ ├── IronyModManager.Models.csproj │ ├── Language.cs │ ├── MappingProfile.cs │ ├── Mod.cs │ ├── ModCollection.cs │ ├── ModCollectionSourceInfo.cs │ ├── ModIgnoreConfiguration.cs │ ├── ModInstallationResult.cs │ ├── Module.cs │ ├── NotificationPosition.cs │ ├── PermissionCheckResult.cs │ ├── Preferences.cs │ ├── PriorityDefinitionResult.cs │ ├── PromptNotifications.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ ├── Theme.cs │ ├── UpdateSettings.cs │ ├── ValidateResult.cs │ └── WindowState.cs ├── IronyModManager.Parser.Common │ ├── Args │ │ ├── CanParseArgs.cs │ │ ├── ParserArgs.cs │ │ └── ParserManagerArgs.cs │ ├── Comments.cs │ ├── Constants.cs │ ├── DLC │ │ └── IDLCParser.cs │ ├── Enums.cs │ ├── IParserManager.cs │ ├── IParserMap.cs │ ├── IronyModManager.Parser.Common.csproj │ ├── Mod │ │ ├── IModParser.cs │ │ └── Search │ │ │ ├── Converter │ │ │ └── ITypeConverter.cs │ │ │ ├── DescriptorPropertyAttribute.cs │ │ │ ├── Enums.cs │ │ │ ├── Fields.cs │ │ │ ├── ILocalizationRegistry.cs │ │ │ ├── IParser.cs │ │ │ ├── ISearchParserResult.cs │ │ │ └── Results.cs │ ├── Module.cs │ ├── Parsers │ │ ├── BaseParser.cs │ │ ├── Extensions.cs │ │ ├── ICodeParser.cs │ │ ├── IDefaultParser.cs │ │ ├── IGameParser.cs │ │ ├── IGenericParser.cs │ │ ├── IParametrizedParser.cs │ │ ├── IParserMerger.cs │ │ ├── IValidateParser.cs │ │ └── Models │ │ │ ├── IBracketValidateResult.cs │ │ │ ├── IParseResponse.cs │ │ │ ├── IScriptElement.cs │ │ │ └── IScriptError.cs │ └── Properties │ │ └── PublishProfiles │ │ ├── linux-x64.pubxml │ │ ├── osx-x64.pubxml │ │ └── win-x64.pubxml ├── IronyModManager.Parser.Tests │ ├── BoolConverterTests.cs │ ├── DLCParserTests.cs │ ├── DefaultParserTests.cs │ ├── GenericBinaryParserTests.cs │ ├── GenericDefinesParserTests.cs │ ├── GenericGraphicsParserTests.cs │ ├── GenericKeyParserTests.cs │ ├── GenericLocalizationParserTests.cs │ ├── GenericWholeTextParserTests.cs │ ├── HOI4InnerLayerParserTests.cs │ ├── HOI4KeyParserTests.cs │ ├── HOI4KeyValuePairParserTests.cs │ ├── HOI4Validation.cs │ ├── HOI4WholeTextParserTests.cs │ ├── IndexedDefinitionsTests.cs │ ├── IronyModManager.Parser.Tests.csproj │ ├── LocalizationRegistryTests.cs │ ├── ModParserTests.cs │ ├── Module.cs │ ├── ParametrizedParserTests.cs │ ├── ParserManagerTests.cs │ ├── ParserMergerTests.cs │ ├── SearchParserTests.cs │ ├── SourceTypeConverterTests.cs │ ├── StellarisDefinesParserTests.cs │ ├── StellarisFlagParserTests.cs │ ├── StellarisKeyParserTests.cs │ ├── StellarisOverwrittenObjectSingleFileParserTests.cs │ ├── StellarisOverwrittenParserTests.cs │ ├── StellarisScriptedVariablesTest.cs │ ├── StellarisSolarSystemInitializersTests.cs │ ├── StellarisValidation.cs │ ├── StellarisWholeTextParserTests.cs │ ├── ValidationBase.cs │ ├── ValidationParserTests.cs │ ├── VersionConverterTests.cs │ └── xunit.runner.json ├── IronyModManager.Parser │ ├── BaseGenericObjectParser.cs │ ├── CodeParser.cs │ ├── DIPackage.cs │ ├── DLC │ │ ├── DLCObject.cs │ │ └── DLCParser.cs │ ├── Default │ │ └── DefaultParser.cs │ ├── Definitions │ │ ├── Definition.cs │ │ ├── DefinitionSearch.cs │ │ ├── DefinitionSearchBsonMapper.cs │ │ ├── DefinitionSearchTypeBinder.cs │ │ ├── HierarchicalDefinitions.cs │ │ └── IndexedDefinitions.cs │ ├── Games │ │ ├── Extensions.cs │ │ ├── HOI4 │ │ │ ├── InnerLayerParser.cs │ │ │ ├── KeyParser.cs │ │ │ ├── KeyValuePairParser.cs │ │ │ └── WholeTextParser.cs │ │ └── Stellaris │ │ │ ├── DefinesParser.cs │ │ │ ├── FlagsParser.cs │ │ │ ├── KeyParser.cs │ │ │ ├── OverwrittenObjectSingleFileParser.cs │ │ │ ├── OverwrittenParser.cs │ │ │ ├── ScriptedVariablesParser.cs │ │ │ ├── SolarSystemInitializersParser.cs │ │ │ └── WholeTextParser.cs │ ├── Generic │ │ ├── BaseLineParser.cs │ │ ├── BinaryParser.cs │ │ ├── DefinesParser.cs │ │ ├── GraphicsParser.cs │ │ ├── KeyParser.cs │ │ ├── LocalizationParser.cs │ │ └── WholeTextParser.cs │ ├── IronyModManager.Parser.csproj │ ├── Mod │ │ ├── ModObject.cs │ │ ├── ModParser.cs │ │ └── Search │ │ │ ├── Converter │ │ │ ├── BaseConverter.cs │ │ │ ├── BoolConverter.cs │ │ │ ├── SourceTypeConverter.cs │ │ │ └── VersionConverter.cs │ │ │ ├── LocalizationRegistry.cs │ │ │ ├── Parser.cs │ │ │ └── SearchParserResult.cs │ ├── Models │ │ ├── BracketValidateResult.cs │ │ ├── ParseResponse.cs │ │ ├── ScriptElement.cs │ │ └── ScriptError.cs │ ├── Module.cs │ ├── ParametrizedParser.cs │ ├── ParserManager.cs │ ├── ParserMap.cs │ ├── ParserMerger.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ └── ValidateParser.cs ├── IronyModManager.Platform │ ├── Assets │ │ └── AssetLoader.cs │ ├── Clipboard │ │ ├── IIronyClipboard.cs │ │ └── IronyClipboard.cs │ ├── Configuration │ │ ├── IPlatformConfiguration.cs │ │ └── PlatformConfigurationOptions.cs │ ├── Drives │ │ ├── WindowsMountedVolumeInfoListener.cs │ │ └── WindowsMountedVolumeInfoProvider.cs │ ├── Extensions.cs │ ├── Fonts │ │ ├── BaseFontFamily.cs │ │ ├── FontManager.cs │ │ ├── IFontFamily.cs │ │ ├── IFontFamilyManager.cs │ │ ├── SKTypefaceCollection.cs │ │ └── SKTypefaceCollectionCache.cs │ ├── InputManager │ │ └── InputManager.cs │ ├── IronyModManager.Platform.csproj │ ├── LinuxDisplayServer.cs │ ├── Module.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ └── Themes │ │ ├── BaseThemeResources.cs │ │ ├── IThemeManager.cs │ │ └── IThemeResources.cs ├── IronyModManager.Services.Common │ ├── Constants.cs │ ├── Exceptions │ │ └── ModTooLargeException.cs │ ├── IAppStateService.cs │ ├── IBaseService.cs │ ├── IConflictSolverColorsService.cs │ ├── IDLCService.cs │ ├── IExternalEditorService.cs │ ├── IExternalProcessHandlerService.cs │ ├── IGameIndexService.cs │ ├── IGameLanguageService.cs │ ├── IGameService.cs │ ├── ILanguagesService.cs │ ├── IModCollectionService.cs │ ├── IModMergeService.cs │ ├── IModPatchCollectionService.cs │ ├── IModService.cs │ ├── INotificationPositionSettingsService.cs │ ├── IPermissionCheckService.cs │ ├── IPreferencesService.cs │ ├── IPromptNotificationsService.cs │ ├── IReportExportService.cs │ ├── IThemeService.cs │ ├── IUpdaterService.cs │ ├── IWindowStateService.cs │ ├── IronyModManager.Services.Common.csproj │ ├── MessageBus │ │ ├── GameDefinitionLoadProgressEvent.cs │ │ ├── GameIndexProgressEvent.cs │ │ ├── ModCompressMergeProgressEvent.cs │ │ ├── ModDefinitionAnalyzeEvent.cs │ │ ├── ModDefinitionInvalidReplaceEvent.cs │ │ ├── ModDefinitionLoadEvent.cs │ │ ├── ModDefinitionPatchLoadEvent.cs │ │ ├── ModDefinitionProcessEvent.cs │ │ ├── ModFileMergeProgressEvent.cs │ │ ├── ModMergeFreeSpaceCheckEvent.cs │ │ └── ModReportExportEvent.cs │ ├── Module.cs │ └── Properties │ │ └── PublishProfiles │ │ ├── linux-x64.pubxml │ │ ├── osx-x64.pubxml │ │ └── win-x64.pubxml ├── IronyModManager.Services.Tests │ ├── AppStateServiceTests.cs │ ├── ConflictSolverColorsServiceTests.cs │ ├── DLCServiceTests.cs │ ├── ExternalEditorServiceTests.cs │ ├── ExternalProcessHandlerServiceTests.cs │ ├── GameIndexServiceTests.cs │ ├── GameLanguageServiceTests.cs │ ├── GameServiceTests.cs │ ├── IronyModManager.Services.Tests.csproj │ ├── LanguageServiceTests.cs │ ├── ModCollectionServiceTests.cs │ ├── ModMergeServiceTests.cs │ ├── ModPatchCollectionServiceTests.cs │ ├── ModServiceTests.cs │ ├── Module.cs │ ├── NotificationPositionSettingsServiceTests.cs │ ├── PermissionCheckServiceTests.cs │ ├── PreferencesServiceTests.cs │ ├── PromptNotificationsServiceTests.cs │ ├── ReportExportServiceTests.cs │ ├── ThemeServiceTests.cs │ ├── UpdaterServiceTests.cs │ ├── WindowStateServiceTests.cs │ ├── dlc │ │ └── dlc01_fake │ │ │ └── dlc01.dlc │ ├── mod │ │ ├── fakemod.mod │ │ ├── fakemod.zip │ │ ├── fakemod │ │ │ └── descriptor.mod │ │ └── fakemod2.zip │ ├── save games │ │ └── save.sav │ └── xunit.runner.json ├── IronyModManager.Services │ ├── AppStateService.cs │ ├── BaseService.cs │ ├── ConflictSolverColorsService.cs │ ├── Constants.cs │ ├── DIPackage.cs │ ├── DLCService.cs │ ├── DeleteStores.cs │ ├── ExternalEditorService.cs │ ├── ExternalProcessHandlerService.cs │ ├── GameIndexService.cs │ ├── GameLanguageService.cs │ ├── GameService.cs │ ├── IronyModManager.Services.csproj │ ├── LanguagesService.cs │ ├── MappingProfile.cs │ ├── ModBaseService.cs │ ├── ModCollectionService.cs │ ├── ModMergeService.cs │ ├── ModPatchCollectionService.cs │ ├── ModService.cs │ ├── Models │ │ ├── ContinueGame.cs │ │ ├── LauncherSettings.cs │ │ ├── SteamAppManifest.cs │ │ └── SteamLibraryFolderData.cs │ ├── Module.cs │ ├── NotificationPositionSettingsService.cs │ ├── ObjectClone.cs │ ├── PermissionCheckService.cs │ ├── PreferencesService.cs │ ├── PromptNotificationsService.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ ├── Registrations │ │ ├── GameRegistration.cs │ │ ├── GogDirectory.cs │ │ ├── ModSearchParserRegistration.cs │ │ ├── NotificationPositionRegistration.cs │ │ ├── PathHelper.cs │ │ ├── SteamDirectory.cs │ │ ├── ThemeRegistration.cs │ │ └── UserDirectory.cs │ ├── ReportExportService.cs │ ├── Resolver │ │ ├── GameRootPathResolver.cs │ │ ├── IGameRootPathResolver.cs │ │ └── PathResolver.cs │ ├── ThemeService.cs │ ├── UpdaterService.cs │ └── WindowStateService.cs ├── IronyModManager.Shared │ ├── BaseMappingProfile.cs │ ├── BaseMappingProfileOverride.cs │ ├── Cache │ │ ├── Cache.cs │ │ ├── CacheAddParameters.cs │ │ ├── CacheGetParameters.cs │ │ ├── CacheInvalidateParameters.cs │ │ ├── CacheItem.cs │ │ ├── CacheParameters.cs │ │ └── ICache.cs │ ├── Configuration │ │ ├── DomainConfigurationOptions.cs │ │ └── IDomainConfiguration.cs │ ├── Constants.cs │ ├── DescriptorPropertyAttribute.cs │ ├── DoNotNotifyAttribute.cs │ ├── EncodingInfo.cs │ ├── ExcludeFromCoverageAttribute.cs │ ├── Expressions │ │ └── MathExpression.cs │ ├── Extensions.Automapper.cs │ ├── Extensions.Char.cs │ ├── Extensions.Collections.cs │ ├── Extensions.DateTime.cs │ ├── Extensions.Double.cs │ ├── Extensions.Enums.cs │ ├── Extensions.Registry.cs │ ├── Extensions.SmartFormat.cs │ ├── Extensions.Stream.cs │ ├── Extensions.TimeSpan.cs │ ├── Extensions.Version.cs │ ├── Extensions.cs │ ├── FileSignatureUtility.cs │ ├── GCRunner.cs │ ├── IAddin.cs │ ├── ILogger.cs │ ├── IModule.cs │ ├── IObjectClone.cs │ ├── IPlugin.cs │ ├── IPropertyChangedModel.cs │ ├── IronyFormatter.cs │ ├── IronyModManager.Shared.csproj │ ├── JsonConverters │ │ └── BoolConverter.cs │ ├── KeyValueStore │ │ ├── Store.cs │ │ └── StoreOptions.cs │ ├── LimitedDictionary.cs │ ├── LocalizationResources.cs │ ├── MessageBus │ │ ├── BaseAwaitableEvent.cs │ │ ├── BaseMessageBusConsumer.cs │ │ ├── BaseNonAwaitableEvent.cs │ │ ├── Events │ │ │ └── LaunchingGameEvent.cs │ │ ├── IMessageBus.cs │ │ ├── IMessageBusConsumer.cs │ │ ├── IMessageBusEvent.cs │ │ └── Subject.cs │ ├── Models │ │ ├── Enums.cs │ │ ├── IDLCObject.cs │ │ ├── IDefinition.cs │ │ ├── IHierarchicalDefinitions.cs │ │ ├── IIndexedDefinitions.cs │ │ ├── IModObject.cs │ │ ├── IQueryableModel.cs │ │ └── ProcessedArgs.cs │ ├── Module.cs │ ├── PostStartup.cs │ ├── ProcessRunner.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ ├── PropertyChangedInterceptorBase.cs │ ├── PropertyChangedModelBase.cs │ ├── ResourceReader.cs │ ├── RetryStrategy.cs │ ├── TempFile │ │ └── ITempFile.cs │ ├── ThreadSafeLimitedDictionary.cs │ ├── Trie │ │ └── Trie.cs │ └── Version.cs ├── IronyModManager.Storage.Common │ ├── IDatabase.cs │ ├── IGameType.cs │ ├── INotificationPositionType.cs │ ├── IStorageProvider.cs │ ├── IThemeType.cs │ ├── IronyModManager.Storage.Common.csproj │ ├── Module.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ └── PropertyChangedInterceptor.cs ├── IronyModManager.Storage.Tests │ ├── IronyModManager.Storage.Tests.csproj │ ├── Module.cs │ ├── PropertyChangedTests.cs │ ├── StorageTests.cs │ └── xunit.runner.json ├── IronyModManager.Storage │ ├── DIPackage.cs │ ├── Database.cs │ ├── GameType.cs │ ├── IronyModManager.Storage.csproj │ ├── MappingProfile.cs │ ├── Module.cs │ ├── NotificationPositionType.cs │ ├── Properties │ │ └── PublishProfiles │ │ │ ├── linux-x64.pubxml │ │ │ ├── osx-x64.pubxml │ │ │ └── win-x64.pubxml │ ├── Storage.cs │ ├── Store │ │ ├── Constants.cs │ │ ├── DIConverter.cs │ │ ├── JsonStore.cs │ │ ├── StoreConverter.cs │ │ └── StoreItem.cs │ └── ThemeType.cs ├── IronyModManager.Tests.Common │ ├── DISetup.cs │ ├── IronyModManager.Tests.Common.csproj │ ├── Logger.cs │ └── Module.cs ├── IronyModManager.Tests │ ├── AchievementStatusCompatibleConverterTests.cs │ ├── AchievementStatusNotCompatibleConverterTests.cs │ ├── BoolAndConverterTests.cs │ ├── CollectionNullOrEmptyConverterTests.cs │ ├── DefinitionFileTooltipConverterTests.cs │ ├── DefinitionPriorityClassConverterTests.cs │ ├── DefinitionPriorityTextConverterTests.cs │ ├── DefinitionResetConverterTests.cs │ ├── DiffLineConverterTests.cs │ ├── DiffSubPieceConverterTests.cs │ ├── FontFamilyConverterTests.cs │ ├── IronyModManager.Tests.csproj │ ├── LocalModConverterTests.cs │ ├── Localization │ │ ├── de.json │ │ ├── en.json │ │ └── es.json │ ├── LocalizationConverterTests.cs │ ├── LocalizationResourceProviderTests.cs │ ├── MathConverterTests.cs │ ├── Module.cs │ ├── ParadoxModConverterTests.cs │ ├── SteamModConverterTests.cs │ ├── TextTypeFontFamilyConverterTests.cs │ ├── ViewLocatorTests.cs │ ├── ViewModels │ │ ├── FakeControlViewModel.cs │ │ ├── FakeWindowViewModel.cs │ │ └── NonExistingViewModel.cs │ ├── ViewResolverTests.cs │ ├── Views │ │ ├── FakeControlView.cs │ │ ├── FakeWindow.cs │ │ └── NotExistingWindow.cs │ └── xunit.runner.json ├── IronyModManager.Updater │ ├── IronyModManager.Updater.csproj │ ├── Program.cs │ └── Properties │ │ └── PublishProfiles │ │ ├── linux-x64.pubxml │ │ ├── osx-x64.pubxml │ │ └── win-x64.pubxml └── IronyModManager │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ ├── logo.ico │ └── logo.png │ ├── CommandLineArgs.cs │ ├── Constants.cs │ ├── Controls │ ├── BoundClassBorder.cs │ ├── BoundClassTextBlock.cs │ ├── ClientSideDecorations │ │ ├── IronyCaptionButtons.cs │ │ ├── IronyClientSideDecorations.cs │ │ ├── IronyResizeBorder.cs │ │ ├── IronyTitleBar.cs │ │ └── ThemeCaptionButton.cs │ ├── ComboBox.cs │ ├── Dialogs │ │ ├── BaseViewModel.cs │ │ ├── ByteSizeHelper.cs │ │ ├── ChildFitter.cs │ │ ├── ManagedDialogExtensions.cs │ │ ├── ManagedDialogFilterViewModel.cs │ │ ├── ManagedDialogItemViewModel.cs │ │ ├── ManagedDialogNavigationItem.cs │ │ ├── ManagedDialogSources.cs │ │ ├── ManagedDialogViewModel.cs │ │ └── ManagedFileDialogOptions.cs │ ├── DragDropListBox.cs │ ├── Helper │ │ └── SearchSelect.cs │ ├── HorizontalItemsRepeater.cs │ ├── INotificationFactory.cs │ ├── IronyToolTip.cs │ ├── ListBox.cs │ ├── MinMaxButtonSpinner.cs │ ├── MinMaxNumericUpDown.cs │ ├── NotificationFactory.cs │ ├── NumericButtonSpinner.cs │ ├── NumericEditTextbox.cs │ ├── ScrollContentPresenter.cs │ ├── ScrollThumb.cs │ ├── TextArea.cs │ ├── TextBox.cs │ ├── TextEditor.cs │ ├── Themes │ │ ├── CustomMessageBox.axaml │ │ ├── CustomMessageBox.axaml.cs │ │ ├── Dark │ │ │ ├── ButtonSpinner.xaml │ │ │ ├── IronyCaptionButtons.axaml │ │ │ ├── IronyClientSideDecorations.axaml │ │ │ ├── IronyResizeBorder.axaml │ │ │ ├── IronyTitleBar.axaml │ │ │ ├── IronyToolTip.axaml │ │ │ ├── MinMaxButtonSpinner.xaml │ │ │ ├── NumericEditTextbox.axaml │ │ │ ├── NumericUpDown.axaml │ │ │ ├── ScrollBar.axaml │ │ │ ├── ScrollViewer.axaml │ │ │ ├── TextBox.axaml │ │ │ ├── ThemeOverride.xaml │ │ │ ├── ThemeOverride.xaml.cs │ │ │ └── Window.axaml │ │ ├── FluentDark │ │ │ ├── ButtonSpinner.axaml │ │ │ ├── IronyCaptionButtons.axaml │ │ │ ├── IronyClientSideDecorations.axaml │ │ │ ├── IronyResizeBorder.axaml │ │ │ ├── IronyTitleBar.axaml │ │ │ ├── IronyToolTip.axaml │ │ │ ├── ListBoxItem.axaml │ │ │ ├── MinMaxButtonSpinner.axaml │ │ │ ├── NumericEditTextbox.axaml │ │ │ ├── NumericUpDown.axaml │ │ │ ├── ScrollBar.axaml │ │ │ ├── ScrollViewer.axaml │ │ │ ├── TextBox.axaml │ │ │ ├── ThemeOverride.axaml │ │ │ ├── ThemeOverride.axaml.cs │ │ │ └── Window.axaml │ │ ├── FluentLight │ │ │ ├── ButtonSpinner.axaml │ │ │ ├── IronyCaptionButtons.axaml │ │ │ ├── IronyClientSideDecorations.axaml │ │ │ ├── IronyResizeBorder.axaml │ │ │ ├── IronyTitleBar.axaml │ │ │ ├── IronyToolTip.axaml │ │ │ ├── ListBoxItem.axaml │ │ │ ├── MinMaxButtonSpinner.axaml │ │ │ ├── NumericEditTextbox.axaml │ │ │ ├── NumericUpDown.axaml │ │ │ ├── ScrollBar.axaml │ │ │ ├── ScrollViewer.axaml │ │ │ ├── TextBox.axaml │ │ │ ├── ThemeOverride.axaml │ │ │ ├── ThemeOverride.axaml.cs │ │ │ └── Window.axaml │ │ ├── IconsDark.xaml │ │ ├── IconsLight.xaml │ │ ├── Light │ │ │ ├── ButtonSpinner.xaml │ │ │ ├── IronyCaptionButtons.axaml │ │ │ ├── IronyClientSideDecorations.axaml │ │ │ ├── IronyResizeBorder.axaml │ │ │ ├── IronyTitleBar.axaml │ │ │ ├── IronyToolTip.axaml │ │ │ ├── MinMaxButtonSpinner.xaml │ │ │ ├── NumericEditTextbox.axaml │ │ │ ├── NumericUpDown.axaml │ │ │ ├── ScrollBar.axaml │ │ │ ├── ScrollViewer.axaml │ │ │ ├── TextBox.axaml │ │ │ ├── ThemeOverride.xaml │ │ │ ├── ThemeOverride.xaml.cs │ │ │ └── Window.axaml │ │ ├── ManagedDialog.xaml │ │ ├── ManagedDialog.xaml.cs │ │ ├── MaterialDark │ │ │ ├── ButtonSpinner.axaml │ │ │ ├── ComboBox.axaml │ │ │ ├── IronyCaptionButtons.axaml │ │ │ ├── IronyClientSideDecorations.axaml │ │ │ ├── IronyResizeBorder.axaml │ │ │ ├── IronyTitleBar.axaml │ │ │ ├── IronyTooltip.axaml │ │ │ ├── ListBoxItem.axaml │ │ │ ├── MenuFlyoutPresenter.axaml │ │ │ ├── MenuItem.axaml │ │ │ ├── MinMaxButtonSpinner.axaml │ │ │ ├── NotificationCard.axaml │ │ │ ├── NumericEditTextbox.axaml │ │ │ ├── NumericUpDown.axaml │ │ │ ├── ScrollBar.axaml │ │ │ ├── ScrollViewer.axaml │ │ │ ├── TextBlock.axaml │ │ │ ├── TextBox.axaml │ │ │ ├── Theme.axaml │ │ │ ├── Theme.axaml.cs │ │ │ ├── ThemeOverride.axaml │ │ │ ├── ThemeOverride.axaml.cs │ │ │ └── Window.axaml │ │ ├── MaterialLight │ │ │ ├── ButtonSpinner.axaml │ │ │ ├── ComboBox.axaml │ │ │ ├── IronyCaptionButtons.axaml │ │ │ ├── IronyClientSideDecorations.axaml │ │ │ ├── IronyResizeBorder.axaml │ │ │ ├── IronyTitleBar.axaml │ │ │ ├── IronyTooltip.axaml │ │ │ ├── ListBoxItem.axaml │ │ │ ├── MenuFlyoutPresenter.axaml │ │ │ ├── MenuItem.axaml │ │ │ ├── MinMaxButtonSpinner.axaml │ │ │ ├── NotificationCard.axaml │ │ │ ├── NumericEditTextbox.axaml │ │ │ ├── NumericUpDown.axaml │ │ │ ├── ScrollBar.axaml │ │ │ ├── ScrollViewer.axaml │ │ │ ├── TextBlock.axaml │ │ │ ├── TextBox.axaml │ │ │ ├── Theme.axaml │ │ │ ├── Theme.axaml.cs │ │ │ ├── ThemeOverride.axaml │ │ │ ├── ThemeOverride.axaml.cs │ │ │ └── Window.axaml │ │ ├── SearchPanel.axaml │ │ ├── StandardMessageBox.xaml │ │ └── StandardMessageBox.xaml.cs │ └── VerticalMenuItem.cs │ ├── Converters │ ├── AchievementStatusCompatibleConverter.cs │ ├── AchievementStatusNotCompatibleConverter.cs │ ├── BoolAndConverter.cs │ ├── CollectionNullOrEmptyConverter.cs │ ├── DefinitionFileTooltipConverter.cs │ ├── DefinitionPriorityClassConverter.cs │ ├── DefinitionPriorityTextConverter.cs │ ├── DefinitionResetConverter.cs │ ├── DiffLineConverter.cs │ ├── DiffSubPieceConverter.cs │ ├── FileSizeStringConverter.cs │ ├── FontFamilyConverter.cs │ ├── LocalModConverter.cs │ ├── LocalizationConverter.cs │ ├── MathConverter.cs │ ├── ParadoxModConverter.cs │ ├── ResourceSelectorConverter.cs │ ├── SteamModConverter.cs │ └── TextTypeFontFamilyConverter.cs │ ├── DI │ ├── DIPackage.Avalonia.cs │ ├── DIPackage.Configuration.cs │ ├── DIPackage.Controls.cs │ ├── DIPackage.Implementations.cs │ ├── DIPackage.Reactive.cs │ ├── DIPackage.ViewModels.cs │ ├── DIPackage.Views.cs │ └── DIPackage.cs │ ├── Fonts │ ├── Constants.cs │ ├── FontFamilyManager.cs │ ├── NotoSans │ │ ├── LICENSE.txt │ │ ├── NotoSans-Bold.ttf │ │ └── NotoSans-Regular.ttf │ ├── NotoSansFontFamily.cs │ ├── NotoSansSC │ │ ├── NotoSansSC-Bold.otf │ │ ├── NotoSansSC-Regular.otf │ │ └── OFL.txt │ ├── NotoSansSCFontFamily.cs │ └── SystemFontFamily.cs │ ├── Helpers.cs │ ├── Implementation │ ├── Actions │ │ ├── AppAction.cs │ │ ├── Enums.cs │ │ ├── FileDialogAction.cs │ │ ├── IAppAction.cs │ │ ├── IFileDialogAction.cs │ │ ├── INotificationAction.cs │ │ └── NotificationAction.cs │ ├── AppState │ │ ├── IScrollState.cs │ │ ├── IShutDownState.cs │ │ ├── ScrollState.cs │ │ └── ShutdownState.cs │ ├── AvaloniaEdit │ │ ├── Constants.cs │ │ ├── DiffBackgroundRenderer.cs │ │ ├── DiffMargin.cs │ │ ├── EditorColorConverter.cs │ │ ├── IResourceLoader.cs │ │ ├── ResourceLoader.cs │ │ ├── ResourceManager.cs │ │ └── Resources │ │ │ ├── Dark │ │ │ ├── PDXScript.xshd │ │ │ └── YAML.xshd │ │ │ └── Light │ │ │ ├── PDXScript.xshd │ │ │ └── YAML.xshd │ ├── CommandResult.cs │ ├── Config │ │ ├── ConfigurationLoader.cs │ │ └── PlatformConfiguration.cs │ ├── Enums.cs │ ├── Hotkey │ │ ├── AllowEnterHotKeysEvent.cs │ │ ├── AllowEnterHotKeysHandler.cs │ │ ├── BaseHotkeyPressedEvent.cs │ │ ├── ConflictSolverViewHotkeyPressedEvent.cs │ │ ├── ConflictSolverViewHotkeyPressedHandler.cs │ │ ├── Constants.cs │ │ ├── Enums.cs │ │ ├── HotkeyManager.cs │ │ ├── IHotkeyManager.cs │ │ ├── MainViewHotkeyPressedEvent.cs │ │ ├── MainViewHotkeyPressedHandler.cs │ │ ├── SuspendHotkeysEvent.cs │ │ └── SuspendHotkeysHandler.cs │ ├── LocalizationResourceProvider.cs │ ├── MessageBox.cs │ ├── MessageBus │ │ ├── ActiveGameRequestHandler.cs │ │ ├── EvalModAchievementCompatibilityHandler.cs │ │ ├── Events │ │ │ ├── EvalModAchievementsCompatibilityEvent.cs │ │ │ ├── ModCollectionChangeRequestHandler.cs │ │ │ └── ModListInstallRefreshRequestEvent.cs │ │ ├── GameDefinitionLoadProgressHandler.cs │ │ ├── GameExeChangedHandler.cs │ │ ├── GameIndexProgressHandler.cs │ │ ├── GameUserDirectoryChangedHandler.cs │ │ ├── ModCompressMergeProgressHandler.cs │ │ ├── ModDefinitionAnalyzeHandler.cs │ │ ├── ModDefinitionInvalidReplaceHandler.cs │ │ ├── ModDefinitionLoadHandler.cs │ │ ├── ModDefinitionPatchLoadHandler.cs │ │ ├── ModExportProgressHandler.cs │ │ ├── ModFileMergeProgressHandler.cs │ │ ├── ModListInstallRefreshRequestHandler.cs │ │ ├── ModMergeFreeSpaceCheckHandler.cs │ │ ├── ModReportExportHandler.cs │ │ ├── OverlayProgressHandler.cs │ │ ├── UpdateUnpackProgressHandler.cs │ │ └── WritingStateOperationHandler.cs │ ├── Overlay │ │ ├── IDGenerator.cs │ │ └── IIDGenerator.cs │ ├── SingleInstance │ │ ├── Args.cs │ │ └── SingleInstance.cs │ ├── StandardMessageBox.cs │ ├── Themes │ │ ├── DarkTheme.cs │ │ ├── FluentDarkTheme.cs │ │ ├── FluentLightTheme.cs │ │ ├── LightTheme.cs │ │ ├── MaterialDarkTheme.cs │ │ ├── MaterialLightTheme.cs │ │ └── ThemeManager.cs │ ├── Updater │ │ ├── EntryAssemblyAccessor.cs │ │ ├── IUpdater.cs │ │ ├── IronyAppCast.cs │ │ ├── IronySparkleUpdater.cs │ │ ├── UpdateSettings.cs │ │ ├── Updater.cs │ │ └── UpdaterConfiguration.cs │ ├── ViewLocator.cs │ └── ViewResolver.cs │ ├── IronyModManager.csproj │ ├── LastKnownLocation.cs │ ├── Localization │ ├── Readme.txt │ ├── de.json │ ├── en.json │ ├── es.json │ ├── fr.json │ ├── hr.json │ ├── ru.json │ └── zh.json │ ├── Log │ ├── AvaloniaLogger.cs │ ├── FilePathLayout.cs │ ├── IronyFileTarget.cs │ └── Logger.cs │ ├── Markup │ ├── LocalizationExtension.cs │ └── LocalizationProvider.cs │ ├── Module.cs │ ├── PrankBootstrap.cs │ ├── Program.cs │ ├── Properties │ ├── PublishProfiles │ │ ├── linux-x64.pubxml │ │ ├── osx-x64.pubxml │ │ └── win-x64.pubxml │ └── launchSettings.json │ ├── StaticResources.cs │ ├── UpdaterCleanup.cs │ ├── ViewModels │ ├── AppViewModel.cs │ ├── Controls │ │ ├── ActionsControlViewModel.cs │ │ ├── AddNewCollectionControlViewModel.cs │ │ ├── CollectionModsControlViewModel.cs │ │ ├── ConflictSolverCustomConflictsControlViewModel.cs │ │ ├── ConflictSolverDBSearchControlViewModel.cs │ │ ├── ConflictSolverModFilterControlViewModel.cs │ │ ├── ConflictSolverResetConflictsControlViewModel.cs │ │ ├── DLCManagerControlViewModel.cs │ │ ├── ExportModCollectionControlViewModel.cs │ │ ├── GameControlViewModel.cs │ │ ├── HashReportControlViewModel.cs │ │ ├── InstalledModsControlViewModel.cs │ │ ├── LanguageControlViewModel.cs │ │ ├── MergeViewerBinaryControlViewModel.cs │ │ ├── MergeViewerControlViewModel.cs │ │ ├── ModCompareSelectorControlViewModel.cs │ │ ├── ModConflictIgnoreControlViewModel.cs │ │ ├── ModHolderControlViewModel.cs │ │ ├── ModifyCollectionControlViewModel.cs │ │ ├── OptionsControlViewModel.cs │ │ ├── PatchModControlViewModel.cs │ │ ├── SearchModsControlViewModel.cs │ │ ├── SortOrderControlViewModel.cs │ │ └── ThemeControlViewModel.cs │ ├── MainConflictSolverViewModel.cs │ ├── MainControlViewModel.cs │ └── MainWindowViewModel.cs │ ├── Views │ ├── AboutDialog.axaml │ ├── AboutDialog.axaml.cs │ ├── Controls │ │ ├── ActionsControlView.axaml │ │ ├── ActionsControlView.axaml.cs │ │ ├── AddNewCollectionControlView.xaml │ │ ├── AddNewCollectionControlView.xaml.cs │ │ ├── CollectionModsControlView.xaml │ │ ├── CollectionModsControlView.xaml.cs │ │ ├── ConflictSolverCustomConflictsControlView.axaml │ │ ├── ConflictSolverCustomConflictsControlView.axaml.cs │ │ ├── ConflictSolverDBSearchControlView.axaml │ │ ├── ConflictSolverDBSearchControlView.axaml.cs │ │ ├── ConflictSolverModFilterControlView.xaml │ │ ├── ConflictSolverModFilterControlView.xaml.cs │ │ ├── ConflictSolverResetConflictsControlView.axaml │ │ ├── ConflictSolverResetConflictsControlView.axaml.cs │ │ ├── DLCManagerControlView.axaml │ │ ├── DLCManagerControlView.axaml.cs │ │ ├── ExportModCollectionControlView.xaml │ │ ├── ExportModCollectionControlView.xaml.cs │ │ ├── GameControlView.xaml │ │ ├── GameControlView.xaml.cs │ │ ├── HashReportControlView.axaml │ │ ├── HashReportControlView.axaml.cs │ │ ├── InstalledModsControlView.xaml │ │ ├── InstalledModsControlView.xaml.cs │ │ ├── LanguageControlView.xaml │ │ ├── LanguageControlView.xaml.cs │ │ ├── MergeViewerBinaryControlView.xaml │ │ ├── MergeViewerBinaryControlView.xaml.cs │ │ ├── MergeViewerControlView.xaml │ │ ├── MergeViewerControlView.xaml.cs │ │ ├── ModCompareSelectorControlView.xaml │ │ ├── ModCompareSelectorControlView.xaml.cs │ │ ├── ModConflictIgnoreControlView.xaml │ │ ├── ModConflictIgnoreControlView.xaml.cs │ │ ├── ModHolderControlView.xaml │ │ ├── ModHolderControlView.xaml.cs │ │ ├── ModifyCollectionControlView.xaml │ │ ├── ModifyCollectionControlView.xaml.cs │ │ ├── OptionsControlView.xaml │ │ ├── OptionsControlView.xaml.cs │ │ ├── PatchModControlView.axaml │ │ ├── PatchModControlView.axaml.cs │ │ ├── SearchModsControlView.xaml │ │ ├── SearchModsControlView.xaml.cs │ │ ├── SortOrderControlView.xaml │ │ ├── SortOrderControlView.xaml.cs │ │ ├── ThemeControlView.xaml │ │ └── ThemeControlView.xaml.cs │ ├── MainConflictSolverControlView.xaml │ ├── MainConflictSolverControlView.xaml.cs │ ├── MainControlView.xaml │ ├── MainControlView.xaml.cs │ ├── MainWindow.xaml │ └── MainWindow.xaml.cs │ ├── appSettings.Debug.json │ ├── appSettings.Release.json │ ├── appSettings.json │ ├── appSettings.linux-x64.json │ ├── appSettings.osx-x64.json │ ├── appSettings.win-x64.json │ ├── nlog.Debug.config │ ├── nlog.Functional_Test.config │ ├── nlog.Release.config │ ├── nlog.config │ ├── nlog.linux-x64.config │ ├── nlog.osx-x64.config │ └── nlog.win-x64.config └── version.json /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. 16 | 2. 17 | 3. 18 | 4. 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Logs** 27 | If the application crashed add error logs related to the crash. 28 | 29 | **Version:** 30 | - OS: [e.g. Windows] 31 | - Irony Version [e.g. 1.5.48] 32 | 33 | **Additional context** 34 | Add any other context about the problem here. 35 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: feature 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/notifications.yml: -------------------------------------------------------------------------------- 1 | name: Notifications 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | github-release-to-discord: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v4 13 | - name: Github Releases To Discord 14 | uses: SethCohen/github-releases-to-discord@v1.15.0 15 | with: 16 | webhook_url: ${{ secrets.WEBHOOK_URL }} 17 | color: "2105893" 18 | username: "GitHub Releases" 19 | avatar_url: "https://cdn.discordapp.com/avatars/972247312782987334/139d847c8df1ad7b14f04b68fa382646.webp?size=80" 20 | footer_title: "Changelog" 21 | footer_timestamp: true 22 | footer_icon_url: "https://cdn.discordapp.com/avatars/972247312782987334/139d847c8df1ad7b14f04b68fa382646.webp?size=80" -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | # Configuration for stale action workflow - https://github.com/actions/stale 2 | 3 | name: 'Stale' 4 | on: 5 | schedule: 6 | - cron: '0 0 * * *' 7 | 8 | jobs: 9 | stale: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | issues: write 13 | pull-requests: write 14 | steps: 15 | - uses: actions/stale@v9.0.0 16 | with: 17 | repo-token: ${{ secrets.GITHUB_TOKEN }} 18 | stale-issue-message: > 19 | This issue has been automatically marked as stale because it has not had 20 | recent activity. It will be closed if no further activity occurs. Thank you 21 | for your contributions. 22 | days-before-issue-stale: 4 23 | days-before-issue-close: 4 24 | stale-issue-label: 'wontfix' 25 | stale-pr-label: 'wontfix' 26 | exempt-issue-labels: 'pinned,security,bug,documentation,feature,help wanted' 27 | exempt-pr-labels: 'pinned,security,bug,documentation,feature,help wanted' 28 | -------------------------------------------------------------------------------- /Credits/Credits Usage.txt: -------------------------------------------------------------------------------- 1 | TOKEN: create a personal token here: https://github.com/settings/tokens/new 2 | INSTALLATION: dotnet tool install --global dotnet-project-licenses 3 | USAGE: dotnet-project-licenses -i IronyModManager -u -o -------------------------------------------------------------------------------- /Credits/clean-credits.py: -------------------------------------------------------------------------------- 1 | import codecs 2 | 3 | with codecs.open("Credits.txt", "r", "utf-8") as r: 4 | lines = r.readlines() 5 | new_lines = [] 6 | can_read = False 7 | for line in lines: 8 | if "Package" in line: 9 | if not line in new_lines: 10 | can_read = True 11 | new_lines.append("#########################\r\n") 12 | if can_read: 13 | if not line.strip().startswith("#"): 14 | new_lines.append(line) 15 | else: 16 | can_read = False 17 | 18 | with codecs.open("Cleaned Credits.txt", "w+", "utf-8") as f: 19 | for line in new_lines: 20 | f.write(line) 21 | -------------------------------------------------------------------------------- /GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 | // This file is used by Code Analysis to maintain SuppressMessage 2 | // attributes that are applied to this project. 3 | // Project-level suppressions either have no target or are given 4 | // a specific target and scoped to a namespace, type, member, etc. 5 | 6 | using System.Diagnostics.CodeAnalysis; 7 | 8 | [assembly: SuppressMessage("Performance", "CA1822:Mark members as static", Justification = "Disabled", Scope = "module")] 9 | [assembly: SuppressMessage("GeneratedRegex", "SYSLIB1045:Convert to 'GeneratedRegexAttribute'.", Justification = "", Scope = "module")] 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Mario 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /References/Conditional/Steamworks/OSX-Linux-x64/libsteam_api.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Conditional/Steamworks/OSX-Linux-x64/libsteam_api.so -------------------------------------------------------------------------------- /References/Conditional/Steamworks/OSX-Linux-x64/steam_api.bundle/Contents.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66bf26858879bfe4fbd81f069c52d05f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /References/Conditional/Steamworks/OSX-Linux-x64/steam_api.bundle/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 11G63 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | libsteam_api.dylib 11 | CFBundleIdentifier 12 | com.rileylabrecque.steam_api 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.53 21 | CSResourcesFileMapped 22 | yes 23 | DTCompiler 24 | 25 | DTPlatformBuild 26 | 4H1503 27 | DTPlatformVersion 28 | GM 29 | DTSDKBuild 30 | 11E52 31 | DTSDKName 32 | macosx10.7 33 | DTXcode 34 | 0463 35 | DTXcodeBuild 36 | 4H1503 37 | 38 | 39 | -------------------------------------------------------------------------------- /References/Conditional/Steamworks/OSX-Linux-x64/steam_api.bundle/Contents/Info.plist.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 471cce660e3c5e74194241e0d00ce331 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /References/Conditional/Steamworks/OSX-Linux-x64/steam_api.bundle/Contents/MacOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77908b167592ab84cbc53e9051278227 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /References/Conditional/Steamworks/OSX-Linux-x64/steam_api.bundle/Contents/MacOS/libsteam_api.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Conditional/Steamworks/OSX-Linux-x64/steam_api.bundle/Contents/MacOS/libsteam_api.dylib -------------------------------------------------------------------------------- /References/Conditional/Steamworks/OSX-Linux-x64/steam_api.bundle/Contents/MacOS/libsteam_api.dylib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86a6af8103340ea4a831e76b240601c0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /References/Conditional/Steamworks/Windows-x64/steam_api64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Conditional/Steamworks/Windows-x64/steam_api64.dll -------------------------------------------------------------------------------- /References/CopyAll/Databases/empty_paradox_launcher.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/CopyAll/Databases/empty_paradox_launcher.sqlite -------------------------------------------------------------------------------- /References/CopyAll/Plugins/Note.txt: -------------------------------------------------------------------------------- 1 | Just to ensure that this directory gets created. 2 | 3 | Plugins go into their own separate subdirectory of this folder. -------------------------------------------------------------------------------- /References/Direct/Avalonia.HtmlRenderer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Direct/Avalonia.HtmlRenderer.dll -------------------------------------------------------------------------------- /References/Direct/Avalonia.Wayland.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Direct/Avalonia.Wayland.dll -------------------------------------------------------------------------------- /References/Direct/LiteDB.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Direct/LiteDB.dll -------------------------------------------------------------------------------- /References/Direct/NWayland.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Direct/NWayland.dll -------------------------------------------------------------------------------- /References/Direct/ProDotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/References/Direct/ProDotNetZip.dll -------------------------------------------------------------------------------- /References/Direct/Readme.txt: -------------------------------------------------------------------------------- 1 | 1. Avalonia.HtmlRenderer 2 | Source: https://github.com/bcssov/Avalonia.HtmlRenderer 3 | Had to build due to not being able to use custom fonts 4 | 2. LiteDB 5 | Source: https://github.com/bcssov/LiteDB 6 | Had to build to remove hardcoded document size limit 7 | 3. NWayland & Avalonia.Wayland 8 | Source: https://github.com/bcssov/NWayland 9 | Check Irony branch. The functionality is still a PR and not compatible with 0.10 (only 0.11 preview). Therefore the logic was ripped from there. 10 | Depends on nuget: Wanhjor.ObjectInspector 11 | 4. ProDotNet 12 | Source: https://github.com/bcssov/ProDotNet 13 | Built manually due to https://github.com/advisories/GHSA-xhg6-9j5j-w4vf vulnerabiity to apply a patch 14 | Depends on nugets: System.Security.Permissions and System.Text.Encoding.CodePages -------------------------------------------------------------------------------- /Tools/LocalizationResourceGenerator/src/LocalizationResourceGenerator.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29728.190 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LocalizationResourceGenerator", "LocalizationResourceGenerator\LocalizationResourceGenerator.csproj", "{752CC8AA-B36B-423B-8315-39CEC50C5E24}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {752CC8AA-B36B-423B-8315-39CEC50C5E24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {752CC8AA-B36B-423B-8315-39CEC50C5E24}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {752CC8AA-B36B-423B-8315-39CEC50C5E24}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {752CC8AA-B36B-423B-8315-39CEC50C5E24}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {E12175B9-772C-4AAD-AFDA-144B9B8283D4} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /Tools/LocalizationResourceGenerator/src/LocalizationResourceGenerator/LocalizationResourceGenerator.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Wireframes/Conflict Solver Rework.epgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/Wireframes/Conflict Solver Rework.epgz -------------------------------------------------------------------------------- /Wireframes/IronyModManager.epgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/Wireframes/IronyModManager.epgz -------------------------------------------------------------------------------- /cmd/build-tools.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd .. 3 | cd Tools\LocalizationResourceGenerator\src 4 | dotnet build --configuration Release 5 | cd .. 6 | cd .. 7 | cd .. 8 | xcopy "Tools\LocalizationResourceGenerator\src\LocalizationResourceGenerator\bin\Release\net8.0\*.dll" "Tools\LocalizationResourceGenerator\" /Y /S /D 9 | xcopy "Tools\LocalizationResourceGenerator\src\LocalizationResourceGenerator\bin\Release\net8.0\*.exe" "Tools\LocalizationResourceGenerator\" /Y /S /D 10 | xcopy "Tools\LocalizationResourceGenerator\src\LocalizationResourceGenerator\bin\Release\net8.0\*.json" "Tools\LocalizationResourceGenerator\" /Y /S /D -------------------------------------------------------------------------------- /cmd/clean-solution-full.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd .. 3 | for /d %%i in (src\IronyModManager*) do ( 4 | RD /s /q "%%i\bin" 5 | RD /s /q "%%i\obj" 6 | ) 7 | for /d %%i in (src\Irony.*) do ( 8 | RD /s /q "%%i\bin" 9 | RD /s /q "%%i\obj" 10 | ) 11 | RD /s /q "TestResults" 12 | RD /s /q Tools\LocalizationResourceGenerator\src\LocalizationResourceGenerator\bin 13 | RD /s /q Tools\LocalizationResourceGenerator\src\LocalizationResourceGenerator\obj -------------------------------------------------------------------------------- /cmd/clean-solution-partial.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd .. 3 | for /d %%i in (src\IronyModManager*) do ( 4 | RD /s /q "%%i\bin" 5 | ) 6 | for /d %%i in (src\Irony.*) do ( 7 | RD /s /q "%%i\bin" 8 | ) 9 | RD /s /q "TestResults" 10 | RD /s /q Tools\LocalizationResourceGenerator\src\LocalizationResourceGenerator\bin -------------------------------------------------------------------------------- /cmd/kill-dotnet.bat: -------------------------------------------------------------------------------- 1 | taskkill /f /im dotnet.exe -------------------------------------------------------------------------------- /cmd/kill-process.bat: -------------------------------------------------------------------------------- 1 | taskkill /im ironymodmanager.exe /f -------------------------------------------------------------------------------- /cmd/run-tools.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd .. 3 | cd Tools\LocalizationResourceGenerator 4 | LocalizationResourceGenerator.exe 5 | cd .. 6 | cd .. 7 | cd cmd -------------------------------------------------------------------------------- /cmd/update-versioning.bat: -------------------------------------------------------------------------------- 1 | dotnet tool update --global nbgv -------------------------------------------------------------------------------- /nuget.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /publish/publish-all.bat: -------------------------------------------------------------------------------- 1 | cd .. 2 | cd cmd 3 | call clean-solution-full.bat 4 | cd src/Irony.AppCastGenerator 5 | dotnet build --configuration Release 6 | cd .. 7 | cd .. 8 | cd publish 9 | call publish-linux-x64.bat 10 | call publish-osx-x64.bat 11 | call publish-win-x64.bat 12 | call publish-win-x64-setup.bat -------------------------------------------------------------------------------- /publish/publish-win-x64-setup.bat: -------------------------------------------------------------------------------- 1 | setlocal enableDelayedExpansion 2 | set inno=%Inno_Setup_Path% 3 | "%inno%\ISCC.exe" setup\win-installer.iss -------------------------------------------------------------------------------- /src/Irony.AppCastGenerator/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Irony.AppCastGenerator": { 4 | "commandName": "Project" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/IronyModManager.Common/Events/Enums.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Common 3 | // Author : Mario 4 | // Created : 03-18-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-27-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Common.Events 18 | { 19 | /// 20 | /// Enum NavigationState 21 | /// 22 | public enum NavigationState 23 | { 24 | /// 25 | /// The main 26 | /// 27 | Main, 28 | 29 | /// 30 | /// The conflict solver 31 | /// 32 | ConflictSolver, 33 | 34 | /// 35 | /// The read only conflict solver 36 | /// 37 | ReadOnlyConflictSolver 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Events/ForceClosePopulsEventArgs.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Common 3 | // Author : Mario 4 | // Created : 06-01-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 06-01-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Common.Events 18 | { 19 | /// 20 | /// Class ForceClosePopulsEventArgs. 21 | /// Implements the 22 | /// 23 | /// 24 | public class ForceClosePopulsEventArgs : EventArgs 25 | { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Events/SelectedGameChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Common 3 | // Author : Mario 4 | // Created : 02-29-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-29-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using IronyModManager.Models.Common; 17 | using IronyModManager.Shared; 18 | 19 | namespace IronyModManager.Common.Events 20 | { 21 | /// 22 | /// Class SelectedGameChangedEventArgs. 23 | /// Implements the 24 | /// 25 | /// 26 | [ExcludeFromCoverage("Excluding external message bus.")] 27 | public class SelectedGameChangedEventArgs : EventArgs 28 | { 29 | #region Properties 30 | 31 | /// 32 | /// Gets or sets the game. 33 | /// 34 | /// The game. 35 | public IGame Game { get; set; } 36 | 37 | #endregion Properties 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Events/ShutdownStateEventArgs.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Common 3 | // Author : Mario 4 | // Created : 04-19-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 04-19-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Common.Events 18 | { 19 | /// 20 | /// Class ShutdownStateEventArgs. 21 | /// 22 | public class ShutdownStateEventArgs 23 | { 24 | #region Properties 25 | 26 | /// 27 | /// Gets or sets a value indicating whether [prevent shutdown]. 28 | /// 29 | /// true if [prevent shutdown]; otherwise, false. 30 | public bool PreventShutdown { get; set; } 31 | 32 | #endregion Properties 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Events/ThemeChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Common 3 | // Author : Mario 4 | // Created : 01-22-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-06-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using IronyModManager.Models.Common; 17 | using IronyModManager.Shared; 18 | 19 | namespace IronyModManager.Common.Events 20 | { 21 | /// 22 | /// Class ThemeChangedEventArgs. 23 | /// Implements the 24 | /// 25 | /// 26 | [ExcludeFromCoverage("Excluding external message bus.")] 27 | public class ThemeChangedEventArgs : EventArgs 28 | { 29 | #region Properties 30 | 31 | /// 32 | /// Gets or sets the theme. 33 | /// 34 | /// The theme. 35 | public ITheme Theme { get; set; } 36 | 37 | #endregion Properties 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Helpers.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Common 3 | // Author : Mario 4 | // Created : 07-12-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 07-12-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.DI; 18 | using IronyModManager.Localization; 19 | using IronyModManager.Platform.Configuration; 20 | using IronyModManager.Shared.Configuration; 21 | 22 | namespace IronyModManager.Common 23 | { 24 | /// 25 | /// Class Helpers. 26 | /// 27 | public static class Helpers 28 | { 29 | #region Methods 30 | 31 | /// 32 | /// Gets the format provider. 33 | /// 34 | /// IFormatProvider. 35 | public static IFormatProvider GetFormatProvider() => DIResolver.Get().GetOptions().Formatting.UseSystemCulture ? CurrentLocale.InitialCulture : CurrentLocale.CurrentCulture; 36 | 37 | #endregion Methods 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Common/ViewModels/IViewModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Common 3 | // Author : Mario 4 | // Created : 01-18-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-23-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Localization; 17 | 18 | namespace IronyModManager.Common.ViewModels 19 | { 20 | /// 21 | /// Interface IViewModel 22 | /// Implements the 23 | /// 24 | public interface IViewModel : ILocalizableViewModel 25 | { 26 | #region Properties 27 | 28 | /// 29 | /// Gets a value indicating whether this instance is activated. 30 | /// 31 | /// true if this instance is activated; otherwise, false. 32 | bool IsActivated { get; } 33 | 34 | #endregion Properties 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/IronyModManager.DI/Constants.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.DI 3 | // Author : Mario 4 | // Created : 01-12-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-12-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.DI 18 | { 19 | /// 20 | /// Class Constants. 21 | /// 22 | internal static class Constants 23 | { 24 | #region Fields 25 | 26 | /// 27 | /// The DLL extension 28 | /// 29 | public const string DllExtension = ".dll"; 30 | 31 | /// 32 | /// The main key 33 | /// 34 | public const string MainKey = "Irony-Main-Public.snk"; 35 | 36 | /// 37 | /// The plugin key 38 | /// 39 | public const string PluginKey = "Irony-Plugin-Public.snk"; 40 | 41 | #endregion Fields 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/IronyModManager.DI/DIOptions.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.DI 3 | // Author : Mario 4 | // Created : 01-15-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-25-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using SimpleInjector; 17 | 18 | namespace IronyModManager.DI 19 | { 20 | /// 21 | /// Class DIOptions. 22 | /// 23 | public class DIOptions 24 | { 25 | #region Properties 26 | 27 | /// 28 | /// Gets or sets the container. 29 | /// 30 | /// The container. 31 | public Container Container { get; set; } 32 | 33 | /// 34 | /// Gets or sets the name of the plugin path and. 35 | /// 36 | /// The name of the plugin path and. 37 | public string PluginPathAndName { get; set; } 38 | 39 | #endregion Properties 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/IronyModManager.DI/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.DI/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.DI/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.GameHandler/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.GameHandler/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.GameHandler/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.IO.Common/Mods/IModMergeExporter.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.IO.Common 3 | // Author : Mario 4 | // Created : 06-19-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-13-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using System.Threading.Tasks; 17 | 18 | namespace IronyModManager.IO.Common.Mods 19 | { 20 | /// 21 | /// Interface IModMergeExporter 22 | /// 23 | public interface IModMergeExporter 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Exports the files asynchronous. 29 | /// 30 | /// The parameters. 31 | /// Task<System.Boolean>. 32 | Task ExportFilesAsync(ModMergeFileExporterParameters parameters); 33 | 34 | #endregion Methods 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/IronyModManager.IO.Common/Platforms/IParadoxLauncher.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.IO.Common 3 | // Author : Mario 4 | // Created : 07-11-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 07-11-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using System.Threading.Tasks; 18 | 19 | namespace IronyModManager.IO.Common.Platforms 20 | { 21 | /// 22 | /// Interface IParadoxLauncher 23 | /// 24 | public interface IParadoxLauncher 25 | { 26 | #region Methods 27 | 28 | /// 29 | /// Determines whether [is running asynchronous]. 30 | /// 31 | /// Task<System.Boolean>. 32 | public Task IsRunningAsync(); 33 | 34 | #endregion Methods 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/IronyModManager.IO.Common/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.IO.Common/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.IO.Common/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.IO.Common/Updater/IUnpacker.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.IO.Common 3 | // Author : Mario 4 | // Created : 09-17-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 09-17-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using System.Threading.Tasks; 17 | 18 | namespace IronyModManager.IO.Common.Updater 19 | { 20 | /// 21 | /// Interface IUnpacker 22 | /// 23 | public interface IUnpacker 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Unpacks the update asynchronous. 29 | /// 30 | /// The path. 31 | /// Task<System.String>. 32 | Task UnpackUpdateAsync(string path); 33 | 34 | #endregion Methods 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/IronyModManager.IO/Mods/Models/Paradox/Common/IPdxFormat.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.IO 3 | // Author : Mario 4 | // Created : 03-14-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 08-11-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.IO.Mods.Models.Paradox.Common 18 | { 19 | /// 20 | /// Interface IPdxMod 21 | /// 22 | public interface IPdxFormat 23 | { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/IronyModManager.IO/Mods/Models/Paradox/v3/Playsets.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.IO 3 | // Author : Mario 4 | // Created : 01-16-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-16-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.IO.Mods.Models.Paradox.PropertyHandlers; 18 | using RepoDb.Attributes; 19 | 20 | namespace IronyModManager.IO.Mods.Models.Paradox.v3 21 | { 22 | /// 23 | /// Class Playsets. 24 | /// 25 | [Map("playsets")] 26 | internal class Playsets : Paradox.v2.Playsets 27 | { 28 | #region Properties 29 | 30 | /// 31 | /// Gets or sets the created on. 32 | /// 33 | /// The created on. 34 | [Map("createdOn"), PropertyHandler(typeof(LongToDateTimeHandler))] 35 | public DateTime CreatedOn { get; set; } 36 | 37 | #endregion Properties 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/IronyModManager.IO/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.IO/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.IO/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Localization.Tests/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parallelizeAssembly": false, 3 | "parallelizeTestCollections": false 4 | } -------------------------------------------------------------------------------- /src/IronyModManager.Localization/Attributes/AutoRefreshLocalizationAttribute.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Localization 3 | // Author : Mario 4 | // Created : 01-21-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-04-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using IronyModManager.Shared; 17 | 18 | namespace IronyModManager.Localization.Attributes 19 | { 20 | /// 21 | /// Class ForceLocalizeAttribute. 22 | /// Implements the 23 | /// 24 | /// 25 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] 26 | [ExcludeFromCoverage("Attributes don't need testing.")] 27 | public class AutoRefreshLocalizationAttribute : LocalizationAttributeBase 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager.Localization/Attributes/LocalizationAttributeBase.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Localization 3 | // Author : Mario 4 | // Created : 01-21-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-04-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using IronyModManager.Shared; 17 | 18 | namespace IronyModManager.Localization.Attributes 19 | { 20 | /// 21 | /// Class LocalizationAttributeBase. 22 | /// Implements the 23 | /// 24 | /// 25 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] 26 | [ExcludeFromCoverage("Attributes don't need testing.")] 27 | public abstract class LocalizationAttributeBase : Attribute 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager.Localization/ILocalizableModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Localization 3 | // Author : Mario 4 | // Created : 01-21-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-04-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Shared; 17 | 18 | namespace IronyModManager.Localization 19 | { 20 | /// 21 | /// Interface ILocalizableModel 22 | /// Implements the 23 | /// 24 | /// 25 | public interface ILocalizableModel : IPropertyChangedModel 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager.Localization/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Localization/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Localization/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Model.Tests/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parallelizeAssembly": false, 3 | "parallelizeTestCollections": false 4 | } -------------------------------------------------------------------------------- /src/IronyModManager.Models.Common/BaseModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Models.Common 3 | // Author : Mario 4 | // Created : 01-20-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-04-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Shared; 17 | 18 | namespace IronyModManager.Models.Common 19 | { 20 | /// 21 | /// Class BaseModel. 22 | /// Implements the 23 | /// Implements the 24 | /// 25 | /// 26 | /// 27 | public class BaseModel : PropertyChangedModelBase, IModel 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager.Models.Common/IModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Models.Common 3 | // Author : Mario 4 | // Created : 01-11-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-04-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using System.Collections.Generic; 16 | using System; 17 | using IronyModManager.Shared; 18 | 19 | namespace IronyModManager.Models.Common 20 | { 21 | /// 22 | /// Interface IModel 23 | /// Implements the 24 | /// 25 | /// 26 | public interface IModel : IPropertyChangedModel 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager.Models.Common/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Models.Common/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Models.Common/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Models/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Models/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Models/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/IParserManager.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Parser.Common 3 | // Author : Mario 4 | // Created : 02-19-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 12-07-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Parser.Common.Args; 17 | using IronyModManager.Shared.Models; 18 | 19 | namespace IronyModManager.Parser.Common 20 | { 21 | /// 22 | /// Interface IParserManager 23 | /// 24 | public interface IParserManager 25 | { 26 | #region Methods 27 | 28 | /// 29 | /// Parses the specified arguments. 30 | /// 31 | /// The arguments. 32 | /// IEnumerable<IDefinition>. 33 | IEnumerable Parse(ParserManagerArgs args); 34 | 35 | #endregion Methods 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/IParserMap.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Parser.Common 3 | // Author : Mario 4 | // Created : 04-18-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 04-18-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Parser.Common 18 | { 19 | /// 20 | /// Interface IParserMap 21 | /// 22 | public interface IParserMap 23 | { 24 | #region Properties 25 | 26 | /// 27 | /// Gets or sets the directory path. 28 | /// 29 | /// The directory path. 30 | string DirectoryPath { get; set; } 31 | 32 | /// 33 | /// Gets or sets the preferred parser. 34 | /// 35 | /// The preferred parser. 36 | string PreferredParser { get; set; } 37 | 38 | #endregion Properties 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Mod/IModParser.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Parser.Common.Mod 3 | // Author : Mario 4 | // Created : 02-22-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 10-28-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using IronyModManager.Shared.Models; 17 | 18 | namespace IronyModManager.Parser.Common.Mod 19 | { 20 | /// 21 | /// Interface IModParser 22 | /// 23 | public interface IModParser 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Parses the specified lines. 29 | /// 30 | /// The lines. 31 | /// Type of the descriptor mod. 32 | /// IModObject. 33 | IModObject Parse(IEnumerable lines, DescriptorModType descriptorModType); 34 | 35 | #endregion Methods 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Mod/Search/Enums.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Parser.Common 3 | // Author : Mario 4 | // Created : 10-26-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 10-26-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Parser.Common.Mod.Search 19 | { 20 | /// 21 | /// Enum SourceType 22 | /// 23 | public enum SourceType 24 | { 25 | /// 26 | /// The none 27 | /// 28 | None, 29 | 30 | /// 31 | /// The local 32 | /// 33 | Local, 34 | 35 | /// 36 | /// The paradox 37 | /// 38 | Paradox, 39 | 40 | /// 41 | /// The steam 42 | /// 43 | Steam 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Mod/Search/IParser.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Parser.Common 3 | // Author : Mario 4 | // Created : 10-26-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 10-26-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Parser.Common.Mod.Search 19 | { 20 | /// 21 | /// Interface IParser 22 | /// 23 | public interface IParser 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Parses the specified text. 29 | /// 30 | /// The locale. 31 | /// The text. 32 | /// ISearchParserResult. 33 | ISearchParserResult Parse(string locale, string text); 34 | 35 | #endregion Methods 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Parsers/IGameParser.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Parser.Common.Parsers 3 | // Author : Mario 4 | // Created : 02-16-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-25-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Parser.Common.Parsers 18 | { 19 | /// 20 | /// Interface IGameParser 21 | /// Implements the 22 | /// Implements the 23 | /// 24 | /// 25 | /// 26 | public interface IGameParser : IGenericParser 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Parsers/IGenericParser.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Parser.Common.Parsers 3 | // Author : Mario 4 | // Created : 02-18-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 04-19-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Parser.Common.Parsers 18 | { 19 | /// 20 | /// Interface IGenericParser 21 | /// Implements the 22 | /// 23 | /// 24 | public interface IGenericParser : IDefaultParser 25 | { 26 | #region Properties 27 | 28 | /// 29 | /// Gets the priority. 30 | /// 31 | /// The priority. 32 | int Priority { get; } 33 | 34 | #endregion Properties 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Common/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser.Tests/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parallelizeAssembly": false, 3 | "parallelizeTestCollections": false 4 | } -------------------------------------------------------------------------------- /src/IronyModManager.Parser/Definitions/DefinitionSearch.cs: -------------------------------------------------------------------------------- 1 |  2 | // *********************************************************************** 3 | // Assembly : IronyModManager.Parser 4 | // Author : Mario 5 | // Created : 06-25-2023 6 | // 7 | // Last Modified By : Mario 8 | // Last Modified On : 06-25-2023 9 | // *********************************************************************** 10 | // 11 | // Mario 12 | // 13 | // 14 | // *********************************************************************** 15 | using System; 16 | using System.Collections.Generic; 17 | using System.Linq; 18 | 19 | namespace IronyModManager.Parser.Definitions 20 | { 21 | 22 | /// 23 | /// Class DefinitionSearch. 24 | /// 25 | internal class DefinitionSearch 26 | { 27 | #region Properties 28 | 29 | /// 30 | /// Gets or sets the display name. 31 | /// 32 | /// The display name. 33 | public string DisplayName { get; set; } 34 | 35 | /// 36 | /// Gets or sets the tags. 37 | /// 38 | /// The tags. 39 | public string[] Tags { get; set; } 40 | 41 | #endregion Properties 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Parser/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Platform/Configuration/IPlatformConfiguration.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Platform 3 | // Author : Mario 4 | // Created : 04-16-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 04-16-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Platform.Configuration 19 | { 20 | /// 21 | /// Interface IPlatformConfiguration 22 | /// 23 | public interface IPlatformConfiguration 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Gets the options. 29 | /// 30 | /// PlatformConfigurationOptions. 31 | PlatformConfigurationOptions GetOptions(); 32 | 33 | #endregion Methods 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/IronyModManager.Platform/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Platform/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Platform/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Common/IBaseService.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Services.Common 3 | // Author : Mario 4 | // Created : 04-19-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 06-11-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Services.Common 18 | { 19 | /// 20 | /// Interface IBaseService 21 | /// 22 | public interface IBaseService 23 | { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Common/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Common/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Common/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Tests/dlc/dlc01_fake/dlc01.dlc: -------------------------------------------------------------------------------- 1 | name = "Horizon Signal" 2 | localizable_name = "DLC_HORIZON_SIGNAL" 3 | archive = "dlc/dlc013_horizon_signal/dlc013.zip" 4 | steam_id = 554350 5 | rail_id = 2000069 6 | pops_id = "horizon_signal" 7 | affects_checksum = no 8 | affects_compatability = yes 9 | checksum="5b1c637b013c6ef8b5fc6bae8778b0c6" 10 | third_party_content = no 11 | category="content_pack" 12 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Tests/mod/fakemod.mod: -------------------------------------------------------------------------------- 1 | path="c:/fake" 2 | name="Fake" 3 | picture="thumbnail.png" 4 | tags={ 5 | "Gameplay" 6 | "Fixes" 7 | } 8 | supported_version="2.6.*" 9 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Tests/mod/fakemod.zip: -------------------------------------------------------------------------------- 1 | path="c:/fake" 2 | name="Fake" 3 | picture="thumbnail.png" 4 | tags={ 5 | "Gameplay" 6 | "Fixes" 7 | } 8 | supported_version="2.6.*" 9 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Tests/mod/fakemod/descriptor.mod: -------------------------------------------------------------------------------- 1 | path="c:/fake" 2 | name="Fake" 3 | picture="thumbnail.png" 4 | tags={ 5 | "Gameplay" 6 | "Fixes" 7 | } 8 | supported_version="2.6.*" 9 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Tests/mod/fakemod2.zip: -------------------------------------------------------------------------------- 1 | path="c:/fake" 2 | name="Fake" 3 | picture="thumbnail.png" 4 | tags={ 5 | "Gameplay" 6 | "Fixes" 7 | } 8 | supported_version="2.6.*" 9 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Tests/save games/save.sav: -------------------------------------------------------------------------------- 1 | path="c:/fake" 2 | name="Fake" 3 | picture="thumbnail.png" 4 | tags={ 5 | "Gameplay" 6 | "Fixes" 7 | } 8 | supported_version="2.6.*" 9 | -------------------------------------------------------------------------------- /src/IronyModManager.Services.Tests/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parallelizeAssembly": false, 3 | "parallelizeTestCollections": false 4 | } -------------------------------------------------------------------------------- /src/IronyModManager.Services/Models/ContinueGame.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Services 3 | // Author : Mario 4 | // Created : 09-20-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 09-20-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using Newtonsoft.Json; 17 | 18 | namespace IronyModManager.Services.Models 19 | { 20 | /// 21 | /// Class ContinueGame. 22 | /// 23 | internal class ContinueGame 24 | { 25 | #region Properties 26 | 27 | /// 28 | /// Gets or sets the desc. 29 | /// 30 | /// The desc. 31 | [JsonProperty("filename")] 32 | public string Filename { get; set; } 33 | 34 | /// 35 | /// Gets or sets the title. 36 | /// 37 | /// The title. 38 | [JsonProperty("title")] 39 | public string Title { get; set; } 40 | 41 | #endregion Properties 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/IronyModManager.Services/Models/SteamAppManifest.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Services 3 | // Author : Mario 4 | // Created : 06-13-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 06-13-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using Newtonsoft.Json; 18 | 19 | namespace IronyModManager.Services.Models 20 | { 21 | /// 22 | /// Class SteamAppManifest. 23 | /// 24 | internal class SteamAppManifest 25 | { 26 | #region Properties 27 | 28 | /// 29 | /// Gets or sets the install dir. 30 | /// 31 | /// The install dir. 32 | [JsonProperty("installdir")] 33 | public string InstallDir { get; set; } 34 | 35 | #endregion Properties 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/IronyModManager.Services/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Services/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Services/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Services/Registrations/PathHelper.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Services 3 | // Author : Mario 4 | // Created : 02-24-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-24-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using System.IO; 17 | using IronyModManager.Shared; 18 | 19 | namespace IronyModManager.Services.Registrations 20 | { 21 | /// 22 | /// Class PathHelper. 23 | /// 24 | [ExcludeFromCoverage("Helper setup static class.")] 25 | public static class PathHelper 26 | { 27 | #region Methods 28 | 29 | /// 30 | /// Merges the paths. 31 | /// 32 | /// The paths. 33 | /// System.String. 34 | public static string MergePaths(params string[] paths) 35 | { 36 | return string.Join(Path.DirectorySeparatorChar, paths); 37 | } 38 | 39 | #endregion Methods 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/BaseMappingProfile.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 01-21-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-21-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using System.Collections.Generic; 16 | using System; 17 | using AutoMapper; 18 | 19 | namespace IronyModManager.Shared 20 | { 21 | /// 22 | /// Class BaseMappingProfileOverride. 23 | /// Implements the 24 | /// 25 | /// 26 | public abstract class BaseMappingProfile : Profile 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/BaseMappingProfileOverride.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 01-21-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-21-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // Heavily based on Automapper Profile class. 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using AutoMapper; 17 | 18 | namespace IronyModManager.Shared 19 | { 20 | /// 21 | /// Class BaseMappingProfileOverride. 22 | /// Implements the 23 | /// 24 | /// 25 | public abstract class BaseMappingProfileOverride : Profile 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Configuration/IDomainConfiguration.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 07-24-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 07-24-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Shared.Configuration 19 | { 20 | /// 21 | /// Interface IDomainConfiguration 22 | /// 23 | public interface IDomainConfiguration 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Gets the options. 29 | /// 30 | /// DomainConfigurationOptions. 31 | DomainConfigurationOptions GetOptions(); 32 | 33 | #endregion Methods 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/DoNotNotifyAttribute.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 01-19-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-19-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Shared 18 | { 19 | /// 20 | /// Class DoNotNotifyAttribute. 21 | /// Implements the 22 | /// 23 | /// 24 | [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class, AllowMultiple = false, Inherited = true)] 25 | public class DoNotNotifyAttribute : Attribute 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/EncodingInfo.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 07-18-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 11-09-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using System; 16 | using System.Collections.Generic; 17 | using System.Linq; 18 | 19 | namespace IronyModManager.Shared 20 | { 21 | /// 22 | /// Class EncodingInfo. 23 | /// 24 | public class EncodingInfo 25 | { 26 | #region Properties 27 | 28 | /// 29 | /// Gets or sets the encoding. 30 | /// 31 | /// The encoding. 32 | public string Encoding { get; set; } 33 | 34 | /// 35 | /// Gets or sets a value indicating whether this instance has bom. 36 | /// 37 | /// true if this instance has bom; otherwise, false. 38 | public bool HasBOM { get; set; } 39 | 40 | #endregion Properties 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Extensions.DateTime.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 02-17-2024 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-17-2024 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using System; 16 | using System.Collections.Generic; 17 | using System.Linq; 18 | 19 | namespace IronyModManager.Shared 20 | { 21 | /// 22 | /// The extensions. 23 | /// 24 | public partial class Extensions 25 | { 26 | #region Methods 27 | 28 | /// 29 | /// Is date same. 30 | /// 31 | /// The date 1. 32 | /// The date 2. 33 | /// A bool. 34 | public static bool IsDateSame(this DateTime date1, DateTime date2) 35 | { 36 | return date1.Date == date2.Date; 37 | } 38 | 39 | #endregion Methods 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Extensions.TimeSpan.cs: -------------------------------------------------------------------------------- 1 |  2 | // *********************************************************************** 3 | // Assembly : IronyModManager.Shared 4 | // Author : Mario 5 | // Created : 11-27-2023 6 | // 7 | // Last Modified By : Mario 8 | // Last Modified On : 11-27-2023 9 | // *********************************************************************** 10 | // 11 | // Mario 12 | // 13 | // 14 | // *********************************************************************** 15 | using System; 16 | using System.Collections.Generic; 17 | using System.Linq; 18 | using System.Text; 19 | using System.Threading.Tasks; 20 | 21 | namespace IronyModManager.Shared 22 | { 23 | 24 | /// 25 | /// Class Extensions. 26 | /// 27 | public static partial class Extensions 28 | { 29 | #region Methods 30 | 31 | /// 32 | /// Formats the elapsed. 33 | /// 34 | /// The ts. 35 | /// System.String. 36 | public static string FormatElapsed(this TimeSpan ts) 37 | { 38 | return string.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); 39 | } 40 | 41 | #endregion Methods 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/IAddin.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 01-17-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-17-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Shared 18 | { 19 | /// 20 | /// Interface IAddin 21 | /// 22 | public interface IAddin 23 | { 24 | #region Properties 25 | 26 | /// 27 | /// Gets the dependencies. 28 | /// 29 | /// The dependencies. 30 | IEnumerable Dependencies { get; } 31 | 32 | /// 33 | /// Gets the name. 34 | /// 35 | /// The name. 36 | string Name { get; } 37 | 38 | #endregion Properties 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/IModule.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 01-15-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-17-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Shared 18 | { 19 | /// 20 | /// Interface IModule 21 | /// Implements the 22 | /// 23 | /// 24 | public interface IModule : IAddin 25 | { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/IPlugin.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 01-15-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 01-17-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Shared 18 | { 19 | /// 20 | /// Interface IPlugin 21 | /// Implements the 22 | /// 23 | /// 24 | public interface IPlugin : IAddin 25 | { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/MessageBus/BaseAwaitableEvent.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 02-22-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-23-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Shared.MessageBus 19 | { 20 | /// 21 | /// Class BaseAwaitableEvent. 22 | /// Implements the 23 | /// 24 | /// 25 | public abstract class BaseAwaitableEvent : IMessageBusEvent 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/MessageBus/BaseNonAwaitableEvent.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 02-22-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-23-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Shared.MessageBus 19 | { 20 | /// 21 | /// Class BaseNonAwaitableEvent. 22 | /// Implements the 23 | /// 24 | /// 25 | public abstract class BaseNonAwaitableEvent : IMessageBusEvent 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/MessageBus/IMessageBusEvent.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 06-10-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-23-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Shared.MessageBus 18 | { 19 | /// 20 | /// Interface IMessageBusEvent 21 | /// 22 | public interface IMessageBusEvent 23 | { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Models/IQueryableModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 08-23-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 08-23-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Shared.Models 19 | { 20 | /// 21 | /// Interface IQueryable 22 | /// 23 | public interface IQueryableModel 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Determines whether the specified term is match. 29 | /// 30 | /// The term. 31 | /// true if the specified term is match; otherwise, false. 32 | bool IsMatch(string term); 33 | 34 | #endregion Methods 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Models/ProcessedArgs.cs: -------------------------------------------------------------------------------- 1 |  2 | // *********************************************************************** 3 | // Assembly : IronyModManager.Shared 4 | // Author : Mario 5 | // Created : 06-26-2023 6 | // 7 | // Last Modified By : Mario 8 | // Last Modified On : 06-26-2023 9 | // *********************************************************************** 10 | // 11 | // Mario 12 | // 13 | // 14 | // *********************************************************************** 15 | using System; 16 | using System.Collections.Generic; 17 | using System.Linq; 18 | 19 | namespace IronyModManager.Shared.Models 20 | { 21 | 22 | /// 23 | /// Class ProcessedArgs. 24 | /// 25 | public class ProcessedArgs 26 | { 27 | #region Properties 28 | 29 | /// 30 | /// Gets or sets the current. 31 | /// 32 | /// The current. 33 | public int Current { get; set; } 34 | 35 | /// 36 | /// Gets or sets the total. 37 | /// 38 | /// The total. 39 | public int Total { get; set; } 40 | 41 | #endregion Properties 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/PostStartup.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Shared 3 | // Author : Mario 4 | // Created : 02-07-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-07-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Shared 18 | { 19 | /// 20 | /// Class PostStartup. 21 | /// 22 | public abstract class PostStartup 23 | { 24 | #region Methods 25 | 26 | /// 27 | /// Called when [post startup]. 28 | /// 29 | public abstract void OnPostStartup(); 30 | 31 | #endregion Methods 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Shared/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Storage.Common/IThemeType.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Models.Common 3 | // Author : Mario 4 | // Created : 02-07-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-16-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | 17 | namespace IronyModManager.Storage.Common 18 | { 19 | /// 20 | /// Interface IThemeType 21 | /// 22 | public interface IThemeType 23 | { 24 | #region Properties 25 | 26 | /// 27 | /// Gets or sets a value indicating whether this instance is default. 28 | /// 29 | /// true if this instance is default; otherwise, false. 30 | bool IsDefault { get; set; } 31 | 32 | /// 33 | /// Gets or sets the name. 34 | /// 35 | /// The name. 36 | string Name { get; set; } 37 | 38 | #endregion Properties 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/IronyModManager.Storage.Common/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Storage.Common/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Storage.Common/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Storage.Tests/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parallelizeAssembly": false, 3 | "parallelizeTestCollections": false 4 | } -------------------------------------------------------------------------------- /src/IronyModManager.Storage/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Storage/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Storage/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager.Tests/Localization/de.json: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /src/IronyModManager.Tests/Localization/en.json: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /src/IronyModManager.Tests/Localization/es.json: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /src/IronyModManager.Tests/ViewModels/FakeControlViewModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : 3 | // Author : Mario 4 | // Created : 02-06-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-06-2020 8 | // *********************************************************************** 9 | // 10 | // Copyright (c) Mario. All rights reserved. 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using System.Collections.Generic; 16 | using System; 17 | using IronyModManager.Common.ViewModels; 18 | 19 | namespace IronyModManager.Tests.ViewModels 20 | { 21 | /// 22 | /// Class FakeViewModel. 23 | /// Implements the 24 | /// 25 | /// 26 | public class FakeControlViewModel : BaseViewModel 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager.Tests/ViewModels/FakeWindowViewModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Tests 3 | // Author : Mario 4 | // Created : 02-06-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-06-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Common.ViewModels; 17 | 18 | namespace IronyModManager.Tests.ViewModels 19 | { 20 | /// 21 | /// Class FakeWindowViewModel. 22 | /// Implements the 23 | /// 24 | /// 25 | public class FakeWindowViewModel : BaseViewModel 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager.Tests/ViewModels/NonExistingViewModel.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Tests 3 | // Author : Mario 4 | // Created : 02-06-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-06-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Common.ViewModels; 17 | 18 | namespace IronyModManager.Tests.ViewModels 19 | { 20 | /// 21 | /// Class FakeViewModel. 22 | /// Implements the 23 | /// 24 | /// 25 | public class NonExistingViewModel : BaseViewModel 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager.Tests/Views/FakeControlView.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : 3 | // Author : Mario 4 | // Created : 02-06-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-06-2020 8 | // *********************************************************************** 9 | // 10 | // Copyright (c) Mario. All rights reserved. 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using System.Collections.Generic; 16 | using System; 17 | using IronyModManager.Common.Views; 18 | using IronyModManager.Tests.ViewModels; 19 | 20 | namespace IronyModManager.Tests.Views 21 | { 22 | /// 23 | /// Class FakeView. 24 | /// Implements the 25 | /// 26 | /// 27 | public class FakeControlView : BaseControl 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager.Tests/Views/FakeWindow.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Tests 3 | // Author : Mario 4 | // Created : 02-06-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-06-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using System.Collections.Generic; 16 | using System; 17 | using IronyModManager.Common.Views; 18 | using IronyModManager.Tests.ViewModels; 19 | 20 | namespace IronyModManager.Tests.Views 21 | { 22 | /// 23 | /// Class FakeWindowView. 24 | /// Implements the 25 | /// 26 | /// 27 | public class FakeWindow : BaseWindow 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager.Tests/Views/NotExistingWindow.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager.Tests 3 | // Author : Mario 4 | // Created : 02-06-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-06-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Common.Views; 17 | using IronyModManager.Tests.ViewModels; 18 | 19 | namespace IronyModManager.Tests.Views 20 | { 21 | /// 22 | /// Class NotExistingWindow. 23 | /// Implements the 24 | /// 25 | /// 26 | public class NotExistingWindow : BaseWindow 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager.Tests/xunit.runner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parallelizeAssembly": false, 3 | "parallelizeTestCollections": false 4 | } -------------------------------------------------------------------------------- /src/IronyModManager.Updater/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Updater/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager.Updater/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager/App.xaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 7 | 8 | 9 | 10 | Irony Mod Manager 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager/Assets/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/src/IronyModManager/Assets/logo.ico -------------------------------------------------------------------------------- /src/IronyModManager/Assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/src/IronyModManager/Assets/logo.png -------------------------------------------------------------------------------- /src/IronyModManager/Controls/ClientSideDecorations/IronyResizeBorder.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 11-23-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 11-23-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using Avalonia.Controls.Primitives; 18 | using Avalonia.Styling; 19 | 20 | namespace IronyModManager.Controls.ClientSideDecorations 21 | { 22 | /// 23 | /// Class IronyResizeeBorder. 24 | /// 25 | public class IronyResizeBorder : TemplatedControl, IStyleable 26 | { 27 | #region Properties 28 | 29 | /// 30 | /// Gets the type by which the control is styled. 31 | /// 32 | /// The style key. 33 | Type IStyleable.StyleKey => typeof(IronyResizeBorder); 34 | 35 | #endregion Properties 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/INotificationFactory.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-07-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-07-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using Avalonia.Controls.Notifications; 17 | 18 | namespace IronyModManager.Controls 19 | { 20 | /// 21 | /// Interface INotificationManager 22 | /// Implements the 23 | /// 24 | /// 25 | public interface INotificationFactory 26 | { 27 | #region Methods 28 | 29 | /// 30 | /// Gets the manager. 31 | /// 32 | /// IManagedNotificationManager. 33 | public IManagedNotificationManager GetManager(); 34 | 35 | #endregion Methods 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/Dark/IronyResizeBorder.axaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/Dark/IronyToolTip.axaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/Dark/ThemeOverride.xaml.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-08-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-13-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | using IronyModManager.Shared; 16 | 17 | namespace IronyModManager.Controls.Themes.Dark 18 | { 19 | /// 20 | /// Class ThemeOverride. 21 | /// Implements the 22 | /// 23 | /// 24 | [ExcludeFromCoverage("UI Elements should be tested in functional testing.")] 25 | public class ThemeOverride : Avalonia.Styling.Styles 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/FluentDark/IronyResizeBorder.axaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/FluentDark/ThemeOverride.axaml.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-12-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-12-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using IronyModManager.Shared; 15 | 16 | namespace IronyModManager.Controls.Themes.FluentDark 17 | { 18 | /// 19 | /// Class ThemeOverride. 20 | /// Implements the 21 | /// 22 | /// 23 | [ExcludeFromCoverage("UI Elements should be tested in functional testing.")] 24 | public class ThemeOverride : Avalonia.Styling.Styles 25 | { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/FluentLight/IronyResizeBorder.axaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/FluentLight/ThemeOverride.axaml.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-12-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-12-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | 15 | namespace IronyModManager.Controls.Themes.FluentLight 16 | { 17 | /// 18 | /// Class ThemeOverride. 19 | /// Implements the 20 | /// 21 | /// 22 | public class ThemeOverride : Avalonia.Styling.Styles 23 | { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/Light/IronyResizeBorder.axaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/Light/IronyToolTip.axaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/Light/ThemeOverride.xaml.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-08-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-13-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using IronyModManager.Shared; 15 | 16 | namespace IronyModManager.Controls.Themes.Light 17 | { 18 | /// 19 | /// Class ThemeOverride. 20 | /// Implements the 21 | /// 22 | /// 23 | [ExcludeFromCoverage("UI Elements should be tested in functional testing.")] 24 | public class ThemeOverride : Avalonia.Styling.Styles 25 | { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/MaterialDark/IronyResizeBorder.axaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/MaterialDark/IronyTooltip.axaml: -------------------------------------------------------------------------------- 1 | 4 | 25 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/MaterialDark/ThemeOverride.axaml.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-14-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-14-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using IronyModManager.Shared; 15 | 16 | namespace IronyModManager.Controls.Themes.MaterialDark 17 | { 18 | /// 19 | /// Class ThemeOverride. 20 | /// Implements the 21 | /// 22 | /// 23 | [ExcludeFromCoverage("UI Elements should be tested in functional testing.")] 24 | public class ThemeOverride : Avalonia.Styling.Styles 25 | { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/MaterialLight/IronyResizeBorder.axaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/MaterialLight/IronyTooltip.axaml: -------------------------------------------------------------------------------- 1 | 4 | 25 | -------------------------------------------------------------------------------- /src/IronyModManager/Controls/Themes/MaterialLight/ThemeOverride.axaml.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-14-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-14-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using IronyModManager.Shared; 15 | 16 | namespace IronyModManager.Controls.Themes.MaterialLight 17 | { 18 | /// 19 | /// Class ThemeOverride. 20 | /// Implements the 21 | /// 22 | /// 23 | [ExcludeFromCoverage("UI Elements should be tested in functional testing.")] 24 | public class ThemeOverride : Avalonia.Styling.Styles 25 | { 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IronyModManager/Fonts/Constants.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-13-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-13-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | 18 | namespace IronyModManager.Fonts 19 | { 20 | /// 21 | /// Class Constants. 22 | /// 23 | public class Constants 24 | { 25 | #region Fields 26 | 27 | /// 28 | /// The default font 29 | /// 30 | public const string DefaultFont = "Noto Sans"; 31 | 32 | #endregion Fields 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/IronyModManager/Fonts/NotoSans/NotoSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/src/IronyModManager/Fonts/NotoSans/NotoSans-Bold.ttf -------------------------------------------------------------------------------- /src/IronyModManager/Fonts/NotoSans/NotoSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/src/IronyModManager/Fonts/NotoSans/NotoSans-Regular.ttf -------------------------------------------------------------------------------- /src/IronyModManager/Fonts/NotoSansSC/NotoSansSC-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/src/IronyModManager/Fonts/NotoSansSC/NotoSansSC-Bold.otf -------------------------------------------------------------------------------- /src/IronyModManager/Fonts/NotoSansSC/NotoSansSC-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcssov/IronyModManager/e8292241ecbb50939b467f1f9edda210ed24b241/src/IronyModManager/Fonts/NotoSansSC/NotoSansSC-Regular.otf -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/AppState/IShutDownState.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 06-28-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 09-17-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using System.Threading.Tasks; 17 | 18 | namespace IronyModManager.Implementation.AppState 19 | { 20 | /// 21 | /// Interface IShutDownState 22 | /// 23 | public interface IShutDownState 24 | { 25 | #region Methods 26 | 27 | /// 28 | /// Toggles the specified can shutdown. 29 | /// 30 | /// if set to true [can shutdown]. 31 | void Toggle(bool canShutdown); 32 | 33 | /// 34 | /// Waits the until free. 35 | /// 36 | /// Task. 37 | Task WaitUntilFreeAsync(); 38 | 39 | #endregion Methods 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/AvaloniaEdit/Resources/Dark/PDXScript.xshd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | " 11 | " 12 | 13 | 14 | \# 15 | 16 | 17 | yes 18 | no 19 | while 20 | if 21 | else_if 22 | else 23 | { 24 | } 25 | 26 | 27 | = 28 | 29 | \b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)? 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/AvaloniaEdit/Resources/Dark/YAML.xshd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | " 9 | " 10 | 11 | 12 | \# 13 | 14 | 15 | : 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/AvaloniaEdit/Resources/Light/PDXScript.xshd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | " 11 | " 12 | 13 | 14 | \# 15 | 16 | 17 | yes 18 | no 19 | while 20 | if 21 | else_if 22 | else 23 | { 24 | } 25 | 26 | 27 | = 28 | 29 | \b0[xX][0-9a-fA-F]+|(\b\d+(\.[0-9]+)?|\.[0-9]+)([eE][+-]?[0-9]+)? 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/AvaloniaEdit/Resources/Light/YAML.xshd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | " 9 | " 10 | 11 | 12 | \# 13 | 14 | 15 | : 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/Hotkey/AllowEnterHotKeysHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 02-11-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-11-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.Hotkey 20 | { 21 | /// 22 | /// Class AllowEnterHotKeysHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class AllowEnterHotKeysHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/Hotkey/ConflictSolverViewHotkeyPressedHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 02-18-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-18-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.Hotkey 20 | { 21 | /// 22 | /// Class ConflictSolverViewHotkeyPressedHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class ConflictSolverViewHotkeyPressedHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/Hotkey/MainViewHotkeyPressedHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 02-17-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-18-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.Hotkey 20 | { 21 | /// 22 | /// Class MainViewHotkeyPressedHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class MainViewHotkeyPressedHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/Hotkey/SuspendHotkeysHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 02-21-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 02-21-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.Hotkey 20 | { 21 | /// 22 | /// Class SuspendHotkeysHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class SuspendHotkeysHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ActiveGameRequestHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 09-07-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 09-07-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Common.Events; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class ActiveGameRequestHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class ActiveGameRequestHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/GameExeChangedHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 10-29-2022 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 10-29-2022 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.Common.Events; 18 | using IronyModManager.Shared.MessageBus; 19 | 20 | namespace IronyModManager.Implementation.MessageBus 21 | { 22 | /// 23 | /// Class GameExeChangedHandler. 24 | /// Implements the 25 | /// 26 | /// 27 | public class GameExeChangedHandler : BaseMessageBusConsumer 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/GameIndexProgressHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 05-28-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 05-28-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.Services.Common.MessageBus; 18 | using IronyModManager.Shared.MessageBus; 19 | 20 | namespace IronyModManager.Implementation.MessageBus 21 | { 22 | /// 23 | /// Class GameIndexProgressHandler. 24 | /// Implements the 25 | /// 26 | /// 27 | public class GameIndexProgressHandler : BaseMessageBusConsumer 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/GameUserDirectoryChangedHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 09-22-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 09-22-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Common.Events; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class GameUserDirectoryChangedHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class GameUserDirectoryChangedHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ModDefinitionAnalyzeHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 06-11-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 06-11-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Services.Common.MessageBus; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class ModDefinitionAnalyzeHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class ModDefinitionAnalyzeHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ModDefinitionLoadHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 06-11-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 06-11-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Services.Common.MessageBus; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class ModDefinitionLoadHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class ModDefinitionLoadHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ModDefinitionPatchLoadHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 06-11-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 06-11-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Services.Common.MessageBus; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class ModDefinitionPatchLoadHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class ModDefinitionPatchLoadHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ModExportProgressHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 05-30-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 05-30-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.IO.Common.MessageBus; 18 | using IronyModManager.Shared.MessageBus; 19 | 20 | namespace IronyModManager.Implementation.MessageBus 21 | { 22 | /// 23 | /// Class ModExportProgressHandler. 24 | /// Implements the 25 | /// 26 | /// 27 | public class ModExportProgressHandler : BaseMessageBusConsumer 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ModFileMergeProgressHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 08-14-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 08-14-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Services.Common.MessageBus; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class ModFileMergeProgressHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class ModFileMergeProgressHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ModMergeFreeSpaceCheckHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 03-17-2021 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 03-17-2021 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System; 15 | using System.Collections.Generic; 16 | using System.Linq; 17 | using IronyModManager.Services.Common.MessageBus; 18 | using IronyModManager.Shared.MessageBus; 19 | 20 | namespace IronyModManager.Implementation.MessageBus 21 | { 22 | /// 23 | /// Class ModMergeFreeSpaceCheckHandler. 24 | /// Implements the 25 | /// 26 | /// 27 | public class ModMergeFreeSpaceCheckHandler : BaseMessageBusConsumer 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/ModReportExportHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 09-30-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 09-30-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Services.Common.MessageBus; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class ModReportExportHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class ModReportExportHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/OverlayProgressHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 07-10-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 07-10-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.Common.Events; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class OverlayProgressHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class OverlayProgressHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/UpdateUnpackProgressHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 09-20-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 09-20-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.IO.Common.MessageBus; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class UpdateUnpackProgressHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class UpdateUnpackProgressHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/MessageBus/WritingStateOperationHandler.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 06-10-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 06-11-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | using System.Collections.Generic; 15 | using System; 16 | using IronyModManager.IO.Common.MessageBus; 17 | using IronyModManager.Shared.MessageBus; 18 | 19 | namespace IronyModManager.Implementation.MessageBus 20 | { 21 | /// 22 | /// Class WritingStateOperationHandler. 23 | /// Implements the 24 | /// 25 | /// 26 | public class WritingStateOperationHandler : BaseMessageBusConsumer 27 | { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/Overlay/IIDGenerator.cs: -------------------------------------------------------------------------------- 1 | // *********************************************************************** 2 | // Assembly : IronyModManager 3 | // Author : Mario 4 | // Created : 11-19-2020 5 | // 6 | // Last Modified By : Mario 7 | // Last Modified On : 11-19-2020 8 | // *********************************************************************** 9 | // 10 | // Mario 11 | // 12 | // 13 | // *********************************************************************** 14 | namespace IronyModManager.Implementation.Overlay 15 | { 16 | /// 17 | /// Interface IIDGenerator 18 | /// 19 | public interface IIDGenerator 20 | { 21 | #region Methods 22 | 23 | /// 24 | /// Gets the next identifier. 25 | /// 26 | /// System.Int64. 27 | long GetNextId(); 28 | 29 | #endregion Methods 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/IronyModManager/Implementation/SingleInstance/Args.cs: -------------------------------------------------------------------------------- 1 |  2 | // *********************************************************************** 3 | // Assembly : IronyModManager 4 | // Author : Mario 5 | // Created : 02-10-2024 6 | // 7 | // Last Modified By : Mario 8 | // Last Modified On : 02-10-2024 9 | // *********************************************************************** 10 | // 11 | // Mario 12 | // 13 | // 14 | // *********************************************************************** 15 | using System; 16 | using System.Collections.Generic; 17 | using System.Linq; 18 | using System.Text; 19 | using System.Threading.Tasks; 20 | 21 | namespace IronyModManager.Implementation.SingleInstance 22 | { 23 | 24 | /// 25 | /// Class Args. 26 | /// Implements the 27 | /// 28 | /// 29 | public class Args 30 | { 31 | #region Properties 32 | 33 | /// 34 | /// Gets or sets the command line arguments. 35 | /// 36 | /// The command line arguments. 37 | public string[] CommandLineArgs { get; set; } 38 | 39 | #endregion Properties 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/IronyModManager/Localization/Readme.txt: -------------------------------------------------------------------------------- 1 | - Do NOT Translate anything in curly ({}) braces inside strings. These are used for formatting. 2 | - Do not translate FontFamily, this is the font used by the locale 3 | - SupportedNameBlock should be empty for latin alphabets. Reference here: https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-classes-in-regular-expressions#supported-named-blocks 4 | - MergedCollectionPrefix is used in path generation so should not be translated (depending on the type of language) 5 | - MergeCompressModPrefix is used in path generation so should not be translated (depending on the type of language) -------------------------------------------------------------------------------- /src/IronyModManager/Properties/PublishProfiles/linux-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\linux-x64\net8.0\publish\linux-x64 12 | linux-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager/Properties/PublishProfiles/osx-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\osx-x64\net8.0\publish\osx-x64 12 | osx-x64 13 | true 14 | False 15 | False 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager/Properties/PublishProfiles/win-x64.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | x64 10 | net8.0 11 | bin\x64\win-x64\net8.0\publish\win-x64 12 | win-x64 13 | true 14 | False 15 | False 16 | False 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "IronyModManager": { 4 | "commandName": "Project" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/IronyModManager/Views/Controls/AddNewCollectionControlView.xaml: -------------------------------------------------------------------------------- 1 |  8 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/IronyModManager/Views/Controls/GameControlView.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/IronyModManager/Views/Controls/ModConflictIgnoreControlView.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/IronyModManager/Views/Controls/SortOrderControlView.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 18 | 19 | -------------------------------------------------------------------------------- /src/IronyModManager/Views/Controls/ThemeControlView.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/IronyModManager/appSettings.Debug.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/IronyModManager/appSettings.Release.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /src/IronyModManager/appSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "EnableAvaloniaLogger": false 4 | }, 5 | "Tooltips": { 6 | "Disable": false 7 | }, 8 | "Fonts": { 9 | "UseInbuiltFontsOnly": false 10 | }, 11 | "LinuxOptions": { 12 | "DisplayServer": "x11", 13 | "WaylandAppId": "", 14 | "UseGPU": null, 15 | "UseEGL": null, 16 | "UseDBusMenu": null, 17 | "UseDeferredRendering": null 18 | }, 19 | "Updates": { 20 | "Disable": false, 21 | "DisableInstallOnly": false 22 | }, 23 | "Steam": { 24 | "UseLegacyLaunchMethod": false, 25 | "UseGameHandler": true, 26 | "GameHandlerPath": "IronyModManager.GameHandler.exe", 27 | "InstallLocationOverride": null 28 | }, 29 | "Formatting": { 30 | "UseSystemCulture": true 31 | }, 32 | "OSXOptions": { 33 | "UseFileStreams": false 34 | }, 35 | "TitleBar": { 36 | "Native": true 37 | }, 38 | "ConflictSolver": { 39 | "UseSubMenus": true, 40 | "UseHybridMemory": true, 41 | "UseDiskSearch": true, 42 | "CompressIndexedDefinitions": false 43 | }, 44 | "App": { 45 | "SingleInstance": true 46 | } 47 | } -------------------------------------------------------------------------------- /src/IronyModManager/appSettings.linux-x64.json: -------------------------------------------------------------------------------- 1 | { 2 | "Steam": { 3 | "@jdt.replace": { 4 | "@jdt.path": "$.GameHandlerPath", 5 | "@jdt.value": "IronyModManager.GameHandler" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/IronyModManager/appSettings.osx-x64.json: -------------------------------------------------------------------------------- 1 | { 2 | "Steam": { 3 | "@jdt.replace": [ 4 | { 5 | "@jdt.path": "$.GameHandlerPath", 6 | "@jdt.value": "IronyModManager.GameHandler" 7 | }, 8 | { 9 | "@jdt.path": "$.UseGameHandler", 10 | "@jdt.value": false 11 | } 12 | ] 13 | }, 14 | "Updates": { 15 | "@jdt.replace": [ 16 | { 17 | "@jdt.path": "$.DisableInstallOnly", 18 | "@jdt.value": true 19 | } 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/IronyModManager/appSettings.win-x64.json: -------------------------------------------------------------------------------- 1 | { 2 | "Steam": { 3 | "@jdt.replace": { 4 | "@jdt.path": "$.GameHandlerPath", 5 | "@jdt.value": "IronyModManager.GameHandler.exe" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/IronyModManager/nlog.Debug.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/IronyModManager/nlog.Functional_Test.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/IronyModManager/nlog.Release.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/IronyModManager/nlog.config: -------------------------------------------------------------------------------- 1 |  2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/IronyModManager/nlog.linux-x64.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/IronyModManager/nlog.osx-x64.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/IronyModManager/nlog.win-x64.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /version.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/main/src/NerdBank.GitVersioning/version.schema.json", 3 | "version": "1.26", 4 | "publicReleaseRefSpec": [ 5 | "^refs/heads/master$", 6 | "^refs/heads/v\\d+(?:\\.\\d+)?$", 7 | "^refs/heads/release/v\\d+(?:\\.\\d+)?$" 8 | ], 9 | "cloudBuild": { 10 | "buildNumber": { 11 | "enabled": true 12 | } 13 | }, 14 | "release": { 15 | "branchName": "release/v{version}" 16 | } 17 | } --------------------------------------------------------------------------------