From bb14125542dbd241a77bf34d3e80aae6777644be Mon Sep 17 00:00:00 2001 From: Alex Barney Date: Wed, 21 Nov 2018 22:57:18 -0500 Subject: [PATCH] Add build script (#20) --- .gitattributes | 2 + .nuke | 0 DotnetCliVersion.txt | 1 + LibHac.sln | 16 +- appveyor.yml | 5 + build.bat | 1 + build.ps1 | 77 +++++ build.sh | 75 +++++ build/Build.cs | 268 ++++++++++++++++++ build/_build.csproj | 24 ++ build/_build.csproj.DotSettings | 23 ++ .../ApplePartitionMap/BlockZero.cs | 0 .../ApplePartitionMap/PartitionMap.cs | 0 .../ApplePartitionMap/PartitionMapEntry.cs | 0 .../ApplePartitionMap/PartitionMapFactory.cs | 0 .../DiscUtils.Core/Archives/FileRecord.cs | 0 .../DiscUtils.Core/Archives/TarFile.cs | 0 .../DiscUtils.Core/Archives/TarFileBuilder.cs | 0 .../DiscUtils.Core/Archives/TarHeader.cs | 0 .../Archives/TarHeaderExtent.cs | 0 .../Archives/UnixBuildFileRecord.cs | 0 .../LibHac.Nand}/DiscUtils.Core/ChsAddress.cs | 0 .../LibHac.Nand}/DiscUtils.Core/ClusterMap.cs | 0 .../DiscUtils.Core/ClusterRoles.cs | 0 .../DiscUtils.Core/Compression/Adler32.cs | 0 .../Compression/BZip2BlockDecoder.cs | 0 .../Compression/BZip2CombinedHuffmanTrees.cs | 0 .../Compression/BZip2DecoderStream.cs | 0 .../Compression/BZip2Randomizer.cs | 0 .../Compression/BZip2RleStream.cs | 0 .../Compression/BigEndianBitStream.cs | 0 .../DiscUtils.Core/Compression/BitStream.cs | 0 .../Compression/BlockCompressor.cs | 0 .../Compression/CompressionResult.cs | 0 .../Compression/DataBlockTransform.cs | 0 .../DiscUtils.Core/Compression/HuffmanTree.cs | 0 .../Compression/InverseBurrowsWheeler.cs | 0 .../DiscUtils.Core/Compression/MoveToFront.cs | 0 .../Compression/SizedDeflateStream.cs | 0 .../DiscUtils.Core/Compression/ZlibBuffer.cs | 0 .../DiscUtils.Core/Compression/ZlibStream.cs | 0 .../CoreCompat/EncodingHelper.cs | 0 .../CoreCompat/ReflectionHelper.cs | 0 .../CoreCompat/StringExtensions.cs | 0 .../DiscUtils.Core/DiscDirectoryInfo.cs | 0 .../DiscUtils.Core/DiscFileInfo.cs | 0 .../DiscUtils.Core/DiscFileLocator.cs | 0 .../DiscUtils.Core/DiscFileSystem.cs | 0 .../DiscUtils.Core/DiscFileSystemChecker.cs | 0 .../DiscUtils.Core/DiscFileSystemInfo.cs | 0 .../DiscUtils.Core/DiscFileSystemOptions.cs | 0 .../DiscUtils.Core/DiscUtils.Core.csproj | 0 .../DiscUtils.Core/DiskImageBuilder.cs | 0 .../DiskImageFileSpecification.cs | 0 .../DiscUtils.Core/FileLocator.cs | 0 .../DiscUtils.Core/FileSystemInfo.cs | 0 .../DiscUtils.Core/FileSystemManager.cs | 0 .../DiscUtils.Core/FileSystemParameters.cs | 0 .../DiscUtils.Core/FileTransport.cs | 0 .../DiscUtils.Core/FloppyDiskType.cs | 0 .../DiscUtils.Core/GenericDiskAdapterType.cs | 0 .../LibHac.Nand}/DiscUtils.Core/Geometry.cs | 0 .../DiscUtils.Core/GeometryCalculation.cs | 0 .../DiscUtils.Core/GeometryTranslation.cs | 0 .../DiscUtils.Core/IClusterBasedFileSystem.cs | 0 .../DiscUtils.Core/IDiagnosticTraceable.cs | 0 .../DiscUtils.Core/IFileSystem.cs | 0 .../DiscUtils.Core/IUnixFileSystem.cs | 0 .../DiscUtils.Core/Internal/Crc32.cs | 0 .../DiscUtils.Core/Internal/Crc32Algorithm.cs | 0 .../DiscUtils.Core/Internal/Crc32BigEndian.cs | 0 .../Internal/Crc32LittleEndian.cs | 0 .../Internal/LocalFileLocator.cs | 0 .../Internal/LogicalVolumeFactory.cs | 0 .../Internal/LogicalVolumeFactoryAttribute.cs | 0 .../DiscUtils.Core/Internal/ObjectCache.cs | 0 .../DiscUtils.Core/Internal/Utilities.cs | 0 .../Internal/VirtualDiskFactory.cs | 0 .../Internal/VirtualDiskFactoryAttribute.cs | 0 .../Internal/VirtualDiskTransport.cs | 0 .../Internal/VirtualDiskTransportAttribute.cs | 0 .../InvalidFileSystemException.cs | 0 .../LogicalDiskManager/ComponentRecord.cs | 0 .../LogicalDiskManager/Database.cs | 0 .../LogicalDiskManager/DatabaseHeader.cs | 0 .../LogicalDiskManager/DatabaseRecord.cs | 0 .../LogicalDiskManager/DiskGroupRecord.cs | 0 .../LogicalDiskManager/DiskRecord.cs | 0 .../LogicalDiskManager/DynamicDisk.cs | 0 .../LogicalDiskManager/DynamicDiskGroup.cs | 0 .../LogicalDiskManager/DynamicDiskManager.cs | 0 .../DynamicDiskManagerFactory.cs | 0 .../LogicalDiskManager/DynamicVolume.cs | 0 .../LogicalDiskManager/ExtentMergeType.cs | 0 .../LogicalDiskManager/ExtentRecord.cs | 0 .../LogicalDiskManager/PrivateHeader.cs | 0 .../LogicalDiskManager/RecordType.cs | 0 .../LogicalDiskManager/TocBlock.cs | 0 .../LogicalDiskManager/VolumeRecord.cs | 0 .../DiscUtils.Core/LogicalVolumeInfo.cs | 0 .../DiscUtils.Core/LogicalVolumeStatus.cs | 0 .../DiscUtils.Core/NativeFileSystem.cs | 0 .../Partitions/BiosExtendedPartitionTable.cs | 0 .../Partitions/BiosPartitionInfo.cs | 0 .../Partitions/BiosPartitionRecord.cs | 0 .../Partitions/BiosPartitionTable.cs | 0 .../Partitions/BiosPartitionTypes.cs | 0 .../Partitions/BiosPartitionedDiskBuilder.cs | 0 .../DefaultPartitionTableFactory.cs | 0 .../DiscUtils.Core/Partitions/GptEntry.cs | 0 .../DiscUtils.Core/Partitions/GptHeader.cs | 0 .../Partitions/GuidPartitionInfo.cs | 0 .../Partitions/GuidPartitionTable.cs | 0 .../Partitions/GuidPartitionTypes.cs | 0 .../Partitions/PartitionInfo.cs | 0 .../Partitions/PartitionTable.cs | 0 .../Partitions/PartitionTableFactory.cs | 0 .../PartitionTableFactoryAttribute.cs | 0 .../Partitions/WellKnownPartitionType.cs | 0 .../DiscUtils.Core/PhysicalVolumeInfo.cs | 0 .../DiscUtils.Core/PhysicalVolumeType.cs | 0 .../LibHac.Nand}/DiscUtils.Core/Plist.cs | 0 .../LibHac.Nand}/DiscUtils.Core/Raw/Disk.cs | 0 .../DiscUtils.Core/Raw/DiskFactory.cs | 0 .../DiscUtils.Core/Raw/DiskImageFile.cs | 0 .../DiscUtils.Core/ReadOnlyDiscFileSystem.cs | 0 .../DiscUtils.Core/ReparsePoint.cs | 0 .../DiscUtils.Core/ReportLevels.cs | 0 .../DiscUtils.Core/Setup/FileOpenEventArgs.cs | 0 .../DiscUtils.Core/Setup/SetupHelper.cs | 0 .../System/DateTimeOffsetExtensions.cs | 0 .../System/ExtensionAttribute.cs | 0 .../DiscUtils.Core/System/HashSet.cs | 0 .../DiscUtils.Core/System/Tuple.cs | 0 .../DiscUtils.Core/TimeConverter.cs | 0 .../DiscUtils.Core/UnixFilePermissions.cs | 0 .../DiscUtils.Core/UnixFileSystemInfo.cs | 0 .../DiscUtils.Core/UnixFileType.cs | 0 .../DiscUtils.Core/Vfs/IVfsDirectory.cs | 0 .../DiscUtils.Core/Vfs/IVfsFile.cs | 0 .../DiscUtils.Core/Vfs/IVfsFileWithStreams.cs | 0 .../DiscUtils.Core/Vfs/IVfsSymlink.cs | 0 .../DiscUtils.Core/Vfs/VfsContext.cs | 0 .../DiscUtils.Core/Vfs/VfsDirEntry.cs | 0 .../DiscUtils.Core/Vfs/VfsFileSystem.cs | 0 .../DiscUtils.Core/Vfs/VfsFileSystemFacade.cs | 0 .../Vfs/VfsFileSystemFactory.cs | 0 .../Vfs/VfsFileSystemFactoryAttribute.cs | 0 .../DiscUtils.Core/Vfs/VfsFileSystemInfo.cs | 0 .../DiscUtils.Core/Vfs/VfsFileSystemOpener.cs | 0 .../Vfs/VfsReadOnlyFileSystem.cs | 0 .../DiscUtils.Core/VirtualDisk.cs | 0 .../DiscUtils.Core/VirtualDiskClass.cs | 0 .../DiscUtils.Core/VirtualDiskExtent.cs | 0 .../DiscUtils.Core/VirtualDiskLayer.cs | 0 .../DiscUtils.Core/VirtualDiskManager.cs | 0 .../DiscUtils.Core/VirtualDiskParameters.cs | 0 .../DiscUtils.Core/VirtualDiskTypeInfo.cs | 0 .../LibHac.Nand}/DiscUtils.Core/VolumeInfo.cs | 0 .../DiscUtils.Core/VolumeManager.cs | 0 .../DiscUtils.Core/WindowsFileInformation.cs | 0 .../DiscUtils.Fat/ClusterReader.cs | 0 .../DiscUtils.Fat/ClusterStream.cs | 0 .../LibHac.Nand}/DiscUtils.Fat/Directory.cs | 0 .../DiscUtils.Fat/DirectoryEntry.cs | 0 .../DiscUtils.Fat/DiscUtils.Fat.csproj | 0 .../DiscUtils.Fat/FatAttributes.cs | 0 .../LibHac.Nand}/DiscUtils.Fat/FatBuffer.cs | 0 .../DiscUtils.Fat/FatFileStream.cs | 0 .../DiscUtils.Fat/FatFileSystem.cs | 0 .../DiscUtils.Fat/FatFileSystemOptions.cs | 0 .../LibHac.Nand}/DiscUtils.Fat/FatType.cs | 0 .../DiscUtils.Fat/FileAllocationTable.cs | 0 .../LibHac.Nand}/DiscUtils.Fat/FileName.cs | 0 .../DiscUtils.Fat/FileSystemFactory.cs | 0 .../FirstClusterChangedDelegate.cs | 0 .../LibHac.Nand}/DiscUtils.Fat/Slot.cs | 0 .../DiscUtils.Streams/AligningStream.cs | 0 .../DiscUtils.Streams/Block/Block.cs | 0 .../DiscUtils.Streams/Block/BlockCache.cs | 0 .../Block/BlockCacheSettings.cs | 0 .../Block/BlockCacheStatistics.cs | 0 .../Block/BlockCacheStream.cs | 0 .../DiscUtils.Streams/Buffer/Buffer.cs | 0 .../DiscUtils.Streams/Buffer/BufferStream.cs | 0 .../DiscUtils.Streams/Buffer/IBuffer.cs | 0 .../DiscUtils.Streams/Buffer/IMappedBuffer.cs | 0 .../DiscUtils.Streams/Buffer/SubBuffer.cs | 0 .../Builder/BuilderBufferExtent.cs | 0 .../Builder/BuilderBufferExtentSource.cs | 0 .../Builder/BuilderBytesExtent.cs | 0 .../Builder/BuilderExtent.cs | 0 .../Builder/BuilderExtentSource.cs | 0 .../Builder/BuilderSparseStreamExtent.cs | 0 .../Builder/BuilderStreamExtent.cs | 0 .../Builder/BuilderStreamExtentSource.cs | 0 .../Builder/PassthroughStreamBuilder.cs | 0 .../Builder/StreamBuilder.cs | 0 .../DiscUtils.Streams/BuiltStream.cs | 0 .../DiscUtils.Streams/CircularStream.cs | 0 .../DiscUtils.Streams/ConcatStream.cs | 0 .../DiscUtils.Streams.csproj | 0 .../IByteArraySerializable.cs | 0 .../DiscUtils.Streams/LengthWrappingStream.cs | 0 .../DiscUtils.Streams/MappedStream.cs | 0 .../DiscUtils.Streams/MirrorStream.cs | 0 .../PositionWrappingStream.cs | 0 .../PumpProgressEventArgs.cs | 0 .../ReaderWriter/BigEndianDataReader.cs | 0 .../ReaderWriter/BigEndianDataWriter.cs | 0 .../ReaderWriter/DataReader.cs | 0 .../ReaderWriter/DataWriter.cs | 0 .../ReaderWriter/LittleEndianDataReader.cs | 0 .../DiscUtils.Streams/SnapshotStream.cs | 0 .../DiscUtils.Streams/SparseMemoryBuffer.cs | 0 .../DiscUtils.Streams/SparseMemoryStream.cs | 0 .../DiscUtils.Streams/SparseStream.cs | 0 .../SparseStreamOpenDelegate.cs | 0 .../DiscUtils.Streams/StreamBuffer.cs | 0 .../DiscUtils.Streams/StreamExtent.cs | 0 .../DiscUtils.Streams/StreamPump.cs | 0 .../DiscUtils.Streams/StripedStream.cs | 0 .../DiscUtils.Streams/SubStream.cs | 0 .../DiscUtils.Streams/System/Func.cs | 0 .../DiscUtils.Streams/ThreadSafeStream.cs | 0 .../DiscUtils.Streams/Util/BitCounter.cs | 0 .../DiscUtils.Streams/Util/EndianUtilities.cs | 0 .../DiscUtils.Streams/Util/MathUtilities.cs | 0 .../DiscUtils.Streams/Util/Numbers.cs | 0 .../DiscUtils.Streams/Util/Ownership.cs | 0 .../DiscUtils.Streams/Util/Range.cs | 0 .../DiscUtils.Streams/Util/Sizes.cs | 0 .../DiscUtils.Streams/Util/StreamUtilities.cs | 0 .../DiscUtils.Streams/WrappingMappedStream.cs | 0 .../DiscUtils.Streams/WrappingStream.cs | 0 .../DiscUtils.Streams/ZeroStream.cs | 0 .../LibHac.Nand}/LibHac.Nand.csproj | 0 {LibHac.Nand => src/LibHac.Nand}/Nand.cs | 0 .../LibHac.Nand}/NandPartition.cs | 0 {LibHac => src/LibHac}/BitReader.cs | 0 {LibHac => src/LibHac}/Calibration.cs | 0 {LibHac => src/LibHac}/Cnmt.cs | 0 {LibHac => src/LibHac}/Crypto.cs | 0 {LibHac => src/LibHac}/FileSystem.cs | 0 {LibHac => src/LibHac}/IFileSystem.cs | 0 .../LibHac}/IO/Aes128CtrExStorage.cs | 0 {LibHac => src/LibHac}/IO/Aes128CtrStorage.cs | 0 .../LibHac}/IO/Aes128CtrTransform.cs | 0 {LibHac => src/LibHac}/IO/Aes128XtsStorage.cs | 0 .../LibHac}/IO/Aes128XtsTransform.cs | 0 {LibHac => src/LibHac}/IO/BucketTree.cs | 0 {LibHac => src/LibHac}/IO/CachedStorage.cs | 0 .../LibHac}/IO/ConcatenationStorage.cs | 0 ...ierarchicalIntegrityVerificationStorage.cs | 0 {LibHac => src/LibHac}/IO/IStorage.cs | 0 {LibHac => src/LibHac}/IO/IndirectStorage.cs | 0 .../IO/IntegrityVerificationStorage.cs | 0 {LibHac => src/LibHac}/IO/MemoryStorage.cs | 0 {LibHac => src/LibHac}/IO/NullStorage.cs | 0 .../LibHac}/IO/Save/AllocationTable.cs | 0 .../IO/Save/AllocationTableIterator.cs | 0 .../LibHac}/IO/Save/AllocationTableStorage.cs | 0 .../LibHac}/IO/Save/DuplexBitmap.cs | 0 .../LibHac}/IO/Save/DuplexStorage.cs | 0 {LibHac => src/LibHac}/IO/Save/FsEntry.cs | 0 {LibHac => src/LibHac}/IO/Save/Header.cs | 0 .../IO/Save/HierarchicalDuplexStorage.cs | 0 {LibHac => src/LibHac}/IO/Save/JournalMap.cs | 0 .../LibHac}/IO/Save/JournalStorage.cs | 0 .../LibHac}/IO/Save/RemapStorage.cs | 0 {LibHac => src/LibHac}/IO/Save/SaveFs.cs | 0 {LibHac => src/LibHac}/IO/Save/Savefile.cs | 0 {LibHac => src/LibHac}/IO/SectorStorage.cs | 0 {LibHac => src/LibHac}/IO/Storage.cs | 0 .../LibHac}/IO/StorageExtensions.cs | 0 {LibHac => src/LibHac}/IO/StorageStream.cs | 0 {LibHac => src/LibHac}/IO/StreamStorage.cs | 0 {LibHac => src/LibHac}/IO/SubStorage.cs | 0 {LibHac => src/LibHac}/IProgressReport.cs | 0 {LibHac => src/LibHac}/Keyset.cs | 0 {LibHac => src/LibHac}/Kip.cs | 0 {LibHac => src/LibHac}/LibHac.csproj | 10 +- {LibHac => src/LibHac}/LibHacException.cs | 0 {LibHac => src/LibHac}/Lz4.cs | 0 {LibHac => src/LibHac}/MissingKeyException.cs | 0 {LibHac => src/LibHac}/Nacp.cs | 0 {LibHac => src/LibHac}/Nax0.cs | 0 {LibHac => src/LibHac}/Nca.cs | 0 {LibHac => src/LibHac}/NcaStructs.cs | 0 {LibHac => src/LibHac}/Npdm/Aci0.cs | 0 {LibHac => src/LibHac}/Npdm/Acid.cs | 0 .../LibHac}/Npdm/ApplicationType.cs | 0 .../LibHac}/Npdm/FSAccessControl.cs | 0 {LibHac => src/LibHac}/Npdm/FSAccessHeader.cs | 0 .../LibHac}/Npdm/FsPermissionBool.cs | 0 {LibHac => src/LibHac}/Npdm/FsPermissionRw.cs | 0 .../LibHac}/Npdm/KernelAccessControl.cs | 0 .../LibHac}/Npdm/KernelAccessControlIrq.cs | 0 .../LibHac}/Npdm/KernelAccessControlMmio.cs | 0 .../LibHac}/Npdm/KernelAccessItem.cs | 0 {LibHac => src/LibHac}/Npdm/NpdmBinary.cs | 0 .../LibHac}/Npdm/ServiceAccessControl.cs | 0 {LibHac => src/LibHac}/Npdm/SvcName.cs | 0 {LibHac => src/LibHac}/Nso.cs | 0 {LibHac => src/LibHac}/Package1.cs | 0 {LibHac => src/LibHac}/Package2.cs | 0 {LibHac => src/LibHac}/Pfs.cs | 0 {LibHac => src/LibHac}/Pfs0Builder.cs | 0 {LibHac => src/LibHac}/ProgressBar.cs | 0 {LibHac => src/LibHac}/Romfs.cs | 0 {LibHac => src/LibHac}/RomfsEntry.cs | 0 {LibHac => src/LibHac}/SwitchFs.cs | 0 {LibHac => src/LibHac}/Ticket.cs | 0 {LibHac => src/LibHac}/Util.cs | 0 {LibHac => src/LibHac}/Xci.cs | 0 {LibHac => src/LibHac}/XciHeader.cs | 0 .../NandReader}/NandReader.csproj | 0 {NandReader => src/NandReader}/Program.cs | 0 .../NandReaderGui}/App.config | 0 {NandReaderGui => src/NandReaderGui}/App.xaml | 0 .../NandReaderGui}/App.xaml.cs | 0 .../NandReaderGui}/DeviceStream.cs | 0 .../NandReaderGui}/FodyWeavers.xml | 0 .../NandReaderGui}/MainWindow.xaml | 0 .../NandReaderGui}/MainWindow.xaml.cs | 0 .../NandReaderGui}/NandReaderGui.csproj | 0 .../NandReaderGui}/Properties/AssemblyInfo.cs | 0 .../Properties/Resources.Designer.cs | 0 .../NandReaderGui}/Properties/Resources.resx | 0 .../Properties/Settings.Designer.cs | 0 .../Properties/Settings.settings | 0 .../NandReaderGui}/View/Nand.xaml | 0 .../NandReaderGui}/View/Nand.xaml.cs | 0 .../NandReaderGui}/ViewModel/NandViewModel.cs | 0 .../ViewModel/ViewModelLocator.cs | 0 .../hactoolnet}/CA00000003_XS00000020 | Bin {hactoolnet => src/hactoolnet}/CliParser.cs | 0 {hactoolnet => src/hactoolnet}/Options.cs | 0 {hactoolnet => src/hactoolnet}/Print.cs | 0 .../hactoolnet}/ProcessBench.cs | 0 {hactoolnet => src/hactoolnet}/ProcessKip.cs | 0 {hactoolnet => src/hactoolnet}/ProcessNca.cs | 0 {hactoolnet => src/hactoolnet}/ProcessNsp.cs | 0 .../hactoolnet}/ProcessPackage.cs | 0 .../hactoolnet}/ProcessRomfs.cs | 0 {hactoolnet => src/hactoolnet}/ProcessSave.cs | 0 .../hactoolnet}/ProcessSwitchFs.cs | 0 {hactoolnet => src/hactoolnet}/ProcessXci.cs | 0 {hactoolnet => src/hactoolnet}/Program.cs | 0 .../hactoolnet}/hactoolnet.csproj | 0 .../LibHac.Tests}/AesXts.cs | 0 .../LibHac.Tests}/LibHac.Tests.csproj | 4 +- 352 files changed, 493 insertions(+), 13 deletions(-) create mode 100644 .nuke create mode 100644 DotnetCliVersion.txt create mode 100644 appveyor.yml create mode 100644 build.bat create mode 100644 build.ps1 create mode 100644 build.sh create mode 100644 build/Build.cs create mode 100644 build/_build.csproj create mode 100644 build/_build.csproj.DotSettings rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ApplePartitionMap/BlockZero.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ApplePartitionMap/PartitionMap.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ApplePartitionMap/PartitionMapEntry.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ApplePartitionMap/PartitionMapFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Archives/FileRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Archives/TarFile.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Archives/TarFileBuilder.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Archives/TarHeader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Archives/TarHeaderExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Archives/UnixBuildFileRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ChsAddress.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ClusterMap.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ClusterRoles.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/Adler32.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BZip2BlockDecoder.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BZip2CombinedHuffmanTrees.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BZip2DecoderStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BZip2Randomizer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BZip2RleStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BigEndianBitStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BitStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/BlockCompressor.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/CompressionResult.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/DataBlockTransform.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/HuffmanTree.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/InverseBurrowsWheeler.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/MoveToFront.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/SizedDeflateStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/ZlibBuffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Compression/ZlibStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/CoreCompat/EncodingHelper.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/CoreCompat/ReflectionHelper.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/CoreCompat/StringExtensions.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscDirectoryInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscFileInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscFileLocator.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscFileSystemChecker.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscFileSystemInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscFileSystemOptions.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiscUtils.Core.csproj (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiskImageBuilder.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/DiskImageFileSpecification.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/FileLocator.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/FileSystemInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/FileSystemManager.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/FileSystemParameters.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/FileTransport.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/FloppyDiskType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/GenericDiskAdapterType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Geometry.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/GeometryCalculation.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/GeometryTranslation.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/IClusterBasedFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/IDiagnosticTraceable.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/IFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/IUnixFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/Crc32.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/Crc32Algorithm.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/Crc32BigEndian.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/Crc32LittleEndian.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/LocalFileLocator.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/LogicalVolumeFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/LogicalVolumeFactoryAttribute.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/ObjectCache.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/Utilities.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/VirtualDiskFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/VirtualDiskFactoryAttribute.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/VirtualDiskTransport.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Internal/VirtualDiskTransportAttribute.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/InvalidFileSystemException.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/ComponentRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/Database.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DatabaseHeader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DatabaseRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DiskGroupRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DiskRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DynamicDisk.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DynamicDiskGroup.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DynamicDiskManager.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DynamicDiskManagerFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/DynamicVolume.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/ExtentMergeType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/ExtentRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/PrivateHeader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/RecordType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/TocBlock.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalDiskManager/VolumeRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalVolumeInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/LogicalVolumeStatus.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/NativeFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/BiosExtendedPartitionTable.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/BiosPartitionInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/BiosPartitionRecord.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/BiosPartitionTable.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/BiosPartitionTypes.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/BiosPartitionedDiskBuilder.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/DefaultPartitionTableFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/GptEntry.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/GptHeader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/GuidPartitionInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/GuidPartitionTable.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/GuidPartitionTypes.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/PartitionInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/PartitionTable.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/PartitionTableFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/PartitionTableFactoryAttribute.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Partitions/WellKnownPartitionType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/PhysicalVolumeInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/PhysicalVolumeType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Plist.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Raw/Disk.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Raw/DiskFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Raw/DiskImageFile.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ReadOnlyDiscFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ReparsePoint.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/ReportLevels.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Setup/FileOpenEventArgs.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Setup/SetupHelper.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/System/DateTimeOffsetExtensions.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/System/ExtensionAttribute.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/System/HashSet.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/System/Tuple.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/TimeConverter.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/UnixFilePermissions.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/UnixFileSystemInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/UnixFileType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/IVfsDirectory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/IVfsFile.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/IVfsFileWithStreams.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/IVfsSymlink.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsContext.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsDirEntry.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsFileSystemFacade.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsFileSystemFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsFileSystemFactoryAttribute.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsFileSystemInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsFileSystemOpener.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/Vfs/VfsReadOnlyFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VirtualDisk.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VirtualDiskClass.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VirtualDiskExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VirtualDiskLayer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VirtualDiskManager.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VirtualDiskParameters.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VirtualDiskTypeInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VolumeInfo.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/VolumeManager.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Core/WindowsFileInformation.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/ClusterReader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/ClusterStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/Directory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/DirectoryEntry.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/DiscUtils.Fat.csproj (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FatAttributes.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FatBuffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FatFileStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FatFileSystem.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FatFileSystemOptions.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FatType.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FileAllocationTable.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FileName.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FileSystemFactory.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/FirstClusterChangedDelegate.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Fat/Slot.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/AligningStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Block/Block.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Block/BlockCache.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Block/BlockCacheSettings.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Block/BlockCacheStatistics.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Block/BlockCacheStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Buffer/Buffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Buffer/BufferStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Buffer/IBuffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Buffer/IMappedBuffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Buffer/SubBuffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderBufferExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderBufferExtentSource.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderBytesExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderExtentSource.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderSparseStreamExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderStreamExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/BuilderStreamExtentSource.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/PassthroughStreamBuilder.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Builder/StreamBuilder.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/BuiltStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/CircularStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ConcatStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/DiscUtils.Streams.csproj (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/IByteArraySerializable.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/LengthWrappingStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/MappedStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/MirrorStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/PositionWrappingStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/PumpProgressEventArgs.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ReaderWriter/BigEndianDataReader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ReaderWriter/BigEndianDataWriter.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ReaderWriter/DataReader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ReaderWriter/DataWriter.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ReaderWriter/LittleEndianDataReader.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/SnapshotStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/SparseMemoryBuffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/SparseMemoryStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/SparseStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/SparseStreamOpenDelegate.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/StreamBuffer.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/StreamExtent.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/StreamPump.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/StripedStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/SubStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/System/Func.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ThreadSafeStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/BitCounter.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/EndianUtilities.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/MathUtilities.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/Numbers.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/Ownership.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/Range.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/Sizes.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/Util/StreamUtilities.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/WrappingMappedStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/WrappingStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/DiscUtils.Streams/ZeroStream.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/LibHac.Nand.csproj (100%) rename {LibHac.Nand => src/LibHac.Nand}/Nand.cs (100%) rename {LibHac.Nand => src/LibHac.Nand}/NandPartition.cs (100%) rename {LibHac => src/LibHac}/BitReader.cs (100%) rename {LibHac => src/LibHac}/Calibration.cs (100%) rename {LibHac => src/LibHac}/Cnmt.cs (100%) rename {LibHac => src/LibHac}/Crypto.cs (100%) rename {LibHac => src/LibHac}/FileSystem.cs (100%) rename {LibHac => src/LibHac}/IFileSystem.cs (100%) rename {LibHac => src/LibHac}/IO/Aes128CtrExStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Aes128CtrStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Aes128CtrTransform.cs (100%) rename {LibHac => src/LibHac}/IO/Aes128XtsStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Aes128XtsTransform.cs (100%) rename {LibHac => src/LibHac}/IO/BucketTree.cs (100%) rename {LibHac => src/LibHac}/IO/CachedStorage.cs (100%) rename {LibHac => src/LibHac}/IO/ConcatenationStorage.cs (100%) rename {LibHac => src/LibHac}/IO/HierarchicalIntegrityVerificationStorage.cs (100%) rename {LibHac => src/LibHac}/IO/IStorage.cs (100%) rename {LibHac => src/LibHac}/IO/IndirectStorage.cs (100%) rename {LibHac => src/LibHac}/IO/IntegrityVerificationStorage.cs (100%) rename {LibHac => src/LibHac}/IO/MemoryStorage.cs (100%) rename {LibHac => src/LibHac}/IO/NullStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Save/AllocationTable.cs (100%) rename {LibHac => src/LibHac}/IO/Save/AllocationTableIterator.cs (100%) rename {LibHac => src/LibHac}/IO/Save/AllocationTableStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Save/DuplexBitmap.cs (100%) rename {LibHac => src/LibHac}/IO/Save/DuplexStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Save/FsEntry.cs (100%) rename {LibHac => src/LibHac}/IO/Save/Header.cs (100%) rename {LibHac => src/LibHac}/IO/Save/HierarchicalDuplexStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Save/JournalMap.cs (100%) rename {LibHac => src/LibHac}/IO/Save/JournalStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Save/RemapStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Save/SaveFs.cs (100%) rename {LibHac => src/LibHac}/IO/Save/Savefile.cs (100%) rename {LibHac => src/LibHac}/IO/SectorStorage.cs (100%) rename {LibHac => src/LibHac}/IO/Storage.cs (100%) rename {LibHac => src/LibHac}/IO/StorageExtensions.cs (100%) rename {LibHac => src/LibHac}/IO/StorageStream.cs (100%) rename {LibHac => src/LibHac}/IO/StreamStorage.cs (100%) rename {LibHac => src/LibHac}/IO/SubStorage.cs (100%) rename {LibHac => src/LibHac}/IProgressReport.cs (100%) rename {LibHac => src/LibHac}/Keyset.cs (100%) rename {LibHac => src/LibHac}/Kip.cs (100%) rename {LibHac => src/LibHac}/LibHac.csproj (76%) rename {LibHac => src/LibHac}/LibHacException.cs (100%) rename {LibHac => src/LibHac}/Lz4.cs (100%) rename {LibHac => src/LibHac}/MissingKeyException.cs (100%) rename {LibHac => src/LibHac}/Nacp.cs (100%) rename {LibHac => src/LibHac}/Nax0.cs (100%) rename {LibHac => src/LibHac}/Nca.cs (100%) rename {LibHac => src/LibHac}/NcaStructs.cs (100%) rename {LibHac => src/LibHac}/Npdm/Aci0.cs (100%) rename {LibHac => src/LibHac}/Npdm/Acid.cs (100%) rename {LibHac => src/LibHac}/Npdm/ApplicationType.cs (100%) rename {LibHac => src/LibHac}/Npdm/FSAccessControl.cs (100%) rename {LibHac => src/LibHac}/Npdm/FSAccessHeader.cs (100%) rename {LibHac => src/LibHac}/Npdm/FsPermissionBool.cs (100%) rename {LibHac => src/LibHac}/Npdm/FsPermissionRw.cs (100%) rename {LibHac => src/LibHac}/Npdm/KernelAccessControl.cs (100%) rename {LibHac => src/LibHac}/Npdm/KernelAccessControlIrq.cs (100%) rename {LibHac => src/LibHac}/Npdm/KernelAccessControlMmio.cs (100%) rename {LibHac => src/LibHac}/Npdm/KernelAccessItem.cs (100%) rename {LibHac => src/LibHac}/Npdm/NpdmBinary.cs (100%) rename {LibHac => src/LibHac}/Npdm/ServiceAccessControl.cs (100%) rename {LibHac => src/LibHac}/Npdm/SvcName.cs (100%) rename {LibHac => src/LibHac}/Nso.cs (100%) rename {LibHac => src/LibHac}/Package1.cs (100%) rename {LibHac => src/LibHac}/Package2.cs (100%) rename {LibHac => src/LibHac}/Pfs.cs (100%) rename {LibHac => src/LibHac}/Pfs0Builder.cs (100%) rename {LibHac => src/LibHac}/ProgressBar.cs (100%) rename {LibHac => src/LibHac}/Romfs.cs (100%) rename {LibHac => src/LibHac}/RomfsEntry.cs (100%) rename {LibHac => src/LibHac}/SwitchFs.cs (100%) rename {LibHac => src/LibHac}/Ticket.cs (100%) rename {LibHac => src/LibHac}/Util.cs (100%) rename {LibHac => src/LibHac}/Xci.cs (100%) rename {LibHac => src/LibHac}/XciHeader.cs (100%) rename {NandReader => src/NandReader}/NandReader.csproj (100%) rename {NandReader => src/NandReader}/Program.cs (100%) rename {NandReaderGui => src/NandReaderGui}/App.config (100%) rename {NandReaderGui => src/NandReaderGui}/App.xaml (100%) rename {NandReaderGui => src/NandReaderGui}/App.xaml.cs (100%) rename {NandReaderGui => src/NandReaderGui}/DeviceStream.cs (100%) rename {NandReaderGui => src/NandReaderGui}/FodyWeavers.xml (100%) rename {NandReaderGui => src/NandReaderGui}/MainWindow.xaml (100%) rename {NandReaderGui => src/NandReaderGui}/MainWindow.xaml.cs (100%) rename {NandReaderGui => src/NandReaderGui}/NandReaderGui.csproj (100%) rename {NandReaderGui => src/NandReaderGui}/Properties/AssemblyInfo.cs (100%) rename {NandReaderGui => src/NandReaderGui}/Properties/Resources.Designer.cs (100%) rename {NandReaderGui => src/NandReaderGui}/Properties/Resources.resx (100%) rename {NandReaderGui => src/NandReaderGui}/Properties/Settings.Designer.cs (100%) rename {NandReaderGui => src/NandReaderGui}/Properties/Settings.settings (100%) rename {NandReaderGui => src/NandReaderGui}/View/Nand.xaml (100%) rename {NandReaderGui => src/NandReaderGui}/View/Nand.xaml.cs (100%) rename {NandReaderGui => src/NandReaderGui}/ViewModel/NandViewModel.cs (100%) rename {NandReaderGui => src/NandReaderGui}/ViewModel/ViewModelLocator.cs (100%) rename {hactoolnet => src/hactoolnet}/CA00000003_XS00000020 (100%) rename {hactoolnet => src/hactoolnet}/CliParser.cs (100%) rename {hactoolnet => src/hactoolnet}/Options.cs (100%) rename {hactoolnet => src/hactoolnet}/Print.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessBench.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessKip.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessNca.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessNsp.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessPackage.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessRomfs.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessSave.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessSwitchFs.cs (100%) rename {hactoolnet => src/hactoolnet}/ProcessXci.cs (100%) rename {hactoolnet => src/hactoolnet}/Program.cs (100%) rename {hactoolnet => src/hactoolnet}/hactoolnet.csproj (100%) rename {LibHac.Tests => tests/LibHac.Tests}/AesXts.cs (100%) rename {LibHac.Tests => tests/LibHac.Tests}/LibHac.Tests.csproj (75%) diff --git a/.gitattributes b/.gitattributes index 1ff0c423..214204df 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,6 +2,8 @@ # Set default behavior to automatically normalize line endings. ############################################################################### * text=auto +*.sh text eol=lf +*.cs text eol=crlf ############################################################################### # Set default behavior for command prompt diff. diff --git a/.nuke b/.nuke new file mode 100644 index 00000000..e69de29b diff --git a/DotnetCliVersion.txt b/DotnetCliVersion.txt new file mode 100644 index 00000000..33ba87ed --- /dev/null +++ b/DotnetCliVersion.txt @@ -0,0 +1 @@ +2.1.500 \ No newline at end of file diff --git a/LibHac.sln b/LibHac.sln index de73d7b7..59640480 100644 --- a/LibHac.sln +++ b/LibHac.sln @@ -3,17 +3,19 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27703.2026 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibHac", "LibHac\LibHac.csproj", "{FFCA6C31-D9D4-4ED8-A06D-0CC6B94422B8}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibHac", "src\LibHac\LibHac.csproj", "{FFCA6C31-D9D4-4ED8-A06D-0CC6B94422B8}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hactoolnet", "hactoolnet\hactoolnet.csproj", "{B1633A64-125F-40A3-9E15-654B4DE5FD98}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hactoolnet", "src\hactoolnet\hactoolnet.csproj", "{B1633A64-125F-40A3-9E15-654B4DE5FD98}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibHac.Nand", "LibHac.Nand\LibHac.Nand.csproj", "{AB503D24-F702-4E6E-B615-A9C7BDA218D1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibHac.Nand", "src\LibHac.Nand\LibHac.Nand.csproj", "{AB503D24-F702-4E6E-B615-A9C7BDA218D1}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NandReader", "NandReader\NandReader.csproj", "{9889C467-284F-4061-B4DB-EC94051C29C0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NandReader", "src\NandReader\NandReader.csproj", "{9889C467-284F-4061-B4DB-EC94051C29C0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NandReaderGui", "NandReaderGui\NandReaderGui.csproj", "{3CBD38B0-6575-4768-8E94-A8AF2D2C9F43}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NandReaderGui", "src\NandReaderGui\NandReaderGui.csproj", "{3CBD38B0-6575-4768-8E94-A8AF2D2C9F43}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibHac.Tests", "LibHac.Tests\LibHac.Tests.csproj", "{679C89BD-5FDF-4CC2-9129-ABABD759035B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibHac.Tests", "tests\LibHac.Tests\LibHac.Tests.csproj", "{679C89BD-5FDF-4CC2-9129-ABABD759035B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "build\_build.csproj", "{C7150117-90B8-4083-8141-BBC35C9F44F6}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -43,6 +45,8 @@ Global {679C89BD-5FDF-4CC2-9129-ABABD759035B}.Debug|Any CPU.Build.0 = Debug|Any CPU {679C89BD-5FDF-4CC2-9129-ABABD759035B}.Release|Any CPU.ActiveCfg = Release|Any CPU {679C89BD-5FDF-4CC2-9129-ABABD759035B}.Release|Any CPU.Build.0 = Release|Any CPU + {C7150117-90B8-4083-8141-BBC35C9F44F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C7150117-90B8-4083-8141-BBC35C9F44F6}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..7d189dee --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,5 @@ +version: 0.1.3-{build} +image: Visual Studio 2017 +build_script: + - ps: .\build.ps1 +test: off \ No newline at end of file diff --git a/build.bat b/build.bat new file mode 100644 index 00000000..91025f00 --- /dev/null +++ b/build.bat @@ -0,0 +1 @@ +powershell -ExecutionPolicy Bypass -NoProfile -File .\build.ps1 -configuration Release \ No newline at end of file diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 00000000..b61336a0 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,77 @@ +[CmdletBinding()] +Param( + #[switch]$CustomParam, + [Parameter(Position = 0, Mandatory = $false, ValueFromRemainingArguments = $true)] + [string[]]$BuildArguments +) + +Write-Output "Windows PowerShell $($Host.Version)" + +Set-StrictMode -Version 2.0; $ErrorActionPreference = "Stop"; $ConfirmPreference = "None"; trap { exit 1 } +$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent + +########################################################################### +# CONFIGURATION +########################################################################### + +$BuildProjectFile = "$PSScriptRoot\build\_build.csproj" +$TempDirectory = "$PSScriptRoot\\.tmp" + +$DotNetGlobalFile = "$PSScriptRoot\\global.json" +$DotNetInstallUrl = "https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1" +$DotNetChannel = "Current" +$DotNetCliVersion = Get-Content DotnetCliVersion.txt + +$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1 +$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1 +$env:NUGET_XMLDOC_MODE = "skip" + +########################################################################### +# EXECUTION +########################################################################### + +function ExecSafe([scriptblock] $cmd) { + & $cmd + if ($LASTEXITCODE) { exit $LASTEXITCODE } +} + +try { + $json = "{`"sdk`":{`"version`":`"$DotNetCliVersion`"}}" + Out-File -FilePath $DotNetGlobalFile -Encoding utf8 -InputObject $json + + # If global.json exists, load expected version + if (Test-Path $DotNetGlobalFile) { + $DotNetVersion = $(Get-Content $DotNetGlobalFile | Out-String | ConvertFrom-Json).sdk.version + } + # If dotnet is installed locally, and expected version is not set or installation matches the expected version + if ($null -ne (Get-Command "dotnet" -ErrorAction SilentlyContinue) -and ` + (!(Test-Path variable:DotNetVersion) -or $(& cmd /c 'dotnet --version 2>&1') -eq $DotNetVersion)) { + $env:DOTNET_EXE = (Get-Command "dotnet").Path + } + else { + $DotNetDirectory = "$TempDirectory\dotnet-win" + $env:DOTNET_EXE = "$DotNetDirectory\dotnet.exe" + + # Download install script + $DotNetInstallFile = "$TempDirectory\dotnet-install.ps1" + mkdir -force $TempDirectory > $null + (New-Object System.Net.WebClient).DownloadFile($DotNetInstallUrl, $DotNetInstallFile) + + # Install by channel or version + if (!(Test-Path variable:DotNetVersion)) { + ExecSafe { & $DotNetInstallFile -InstallDir $DotNetDirectory -Channel $DotNetChannel -NoPath } + } + else { + ExecSafe { & $DotNetInstallFile -InstallDir $DotNetDirectory -Version $DotNetVersion -NoPath } + } + } + + Write-Output "Microsoft (R) .NET Core SDK version $(& $env:DOTNET_EXE --version)" + + ExecSafe { & $env:DOTNET_EXE run --project $BuildProjectFile -- $BuildArguments } +} +finally { + if (Test-Path $DotNetGlobalFile) { + Remove-Item $DotNetGlobalFile + } +} \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100644 index 00000000..63edfcd9 --- /dev/null +++ b/build.sh @@ -0,0 +1,75 @@ +#!/usr/bin/env bash + +echo $(bash --version 2>&1 | head -n 1) + +#CUSTOMPARAM=0 +BUILD_ARGUMENTS=() +for i in "$@"; do + case $(echo $1 | awk '{print tolower($0)}') in + # -custom-param) CUSTOMPARAM=1;; + *) BUILD_ARGUMENTS+=("$1") ;; + esac + shift +done + +set -eo pipefail +SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) + +########################################################################### +# CONFIGURATION +########################################################################### + +BUILD_PROJECT_FILE="$SCRIPT_DIR/build/_build.csproj" +TEMP_DIRECTORY="$SCRIPT_DIR//.tmp" + +DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json" +DOTNET_INSTALL_URL="https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.sh" +DOTNET_CHANNEL="Current" + +export DOTNET_CLI_TELEMETRY_OPTOUT=1 +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +export NUGET_XMLDOC_MODE="skip" + +########################################################################### +# EXECUTION +########################################################################### + +function FirstJsonValue { + perl -nle 'print $1 if m{"'$1'": "([^"\-]+)",?}' <<< ${@:2} +} +trap "rm -f $DOTNET_GLOBAL_FILE" INT TERM EXIT + +dotnetCliVersion=$(cat DotnetCliVersion.txt) + +json="{\"sdk\":{\"version\":\"$dotnetCliVersion\"}}" + echo "$json" > $DOTNET_GLOBAL_FILE + +# If global.json exists, load expected version +if [ -f "$DOTNET_GLOBAL_FILE" ]; then + DOTNET_VERSION=$dotnetCliVersion +fi + +# If dotnet is installed locally, and expected version is not set or installation matches the expected version +if [[ -x "$(command -v dotnet)" && (-z ${DOTNET_VERSION+x} || $(dotnet --version) == "$DOTNET_VERSION") ]]; then + export DOTNET_EXE="$(command -v dotnet)" +else + DOTNET_DIRECTORY="$TEMP_DIRECTORY/dotnet-unix" + export DOTNET_EXE="$DOTNET_DIRECTORY/dotnet" + + # Download install script + DOTNET_INSTALL_FILE="$TEMP_DIRECTORY/dotnet-install.sh" + mkdir -p "$TEMP_DIRECTORY" + curl -Lsfo "$DOTNET_INSTALL_FILE" "$DOTNET_INSTALL_URL" + chmod +x "$DOTNET_INSTALL_FILE" + + # Install by channel or version + if [ -z ${DOTNET_VERSION+x} ]; then + "$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --channel "$DOTNET_CHANNEL" --no-path + else + "$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --version "$DOTNET_VERSION" --no-path + fi +fi + +echo "Microsoft (R) .NET Core SDK version $("$DOTNET_EXE" --version)" + +"$DOTNET_EXE" run --project "$BUILD_PROJECT_FILE" -- ${BUILD_ARGUMENTS[@]} diff --git a/build/Build.cs b/build/Build.cs new file mode 100644 index 00000000..44a57f41 --- /dev/null +++ b/build/Build.cs @@ -0,0 +1,268 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using ICSharpCode.SharpZipLib.Zip; +using ILRepacking; +using Nuke.Common; +using Nuke.Common.Git; +using Nuke.Common.ProjectModel; +using Nuke.Common.Tools.DotNet; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.PathConstruction; +using static Nuke.Common.Tools.DotNet.DotNetTasks; + +class Build : NukeBuild +{ + public static int Main() => Execute(x => x.Results); + + [Parameter("Configuration to build - Default is 'Debug' (local) or 'Release' (server)")] + readonly string Configuration = IsLocalBuild ? "Debug" : "Release"; + + [Solution("LibHac.sln")] readonly Solution Solution; + [GitRepository] readonly GitRepository GitRepository; + + AbsolutePath SourceDirectory => RootDirectory / "src"; + AbsolutePath TestsDirectory => RootDirectory / "tests"; + AbsolutePath ArtifactsDirectory => RootDirectory / "artifacts"; + AbsolutePath TempDirectory => RootDirectory / ".tmp"; + AbsolutePath CliCoreDir => TempDirectory / "hactoolnet_netcoreapp2.1"; + AbsolutePath CliFrameworkDir => TempDirectory / "hactoolnet_net46"; + AbsolutePath CliFrameworkZip => ArtifactsDirectory / "hactoolnet.zip"; + AbsolutePath CliCoreZip => ArtifactsDirectory / "hactoolnet_netcore.zip"; + + AbsolutePath CliMergedExe => ArtifactsDirectory / "hactoolnet.exe"; + + Project LibHacProject => Solution.GetProject("LibHac").NotNull(); + Project LibHacTestProject => Solution.GetProject("LibHac.Tests").NotNull(); + Project HactoolnetProject => Solution.GetProject("hactoolnet").NotNull(); + + Target Clean => _ => _ + .Executes(() => + { + DeleteDirectories(GlobDirectories(SourceDirectory, "**/bin", "**/obj")); + DeleteDirectories(GlobDirectories(TestsDirectory, "**/bin", "**/obj")); + EnsureCleanDirectory(ArtifactsDirectory); + EnsureCleanDirectory(CliCoreDir); + EnsureCleanDirectory(CliFrameworkDir); + }); + + Target Restore => _ => _ + .DependsOn(Clean) + .Executes(() => + { + var settings = new DotNetRestoreSettings() + .SetProjectFile(Solution); + + if (EnvironmentInfo.IsUnix) settings = settings.RemoveRuntimes("net46"); + + DotNetRestore(s => settings); + }); + + Target Compile => _ => _ + .DependsOn(Restore) + .Executes(() => + { + var buildSettings = new DotNetBuildSettings() + .SetProjectFile(Solution) + .EnableNoRestore() + .SetConfiguration(Configuration); + + if (EnvironmentInfo.IsUnix) buildSettings = buildSettings.SetFramework("netcoreapp2.1"); + + DotNetBuild(s => buildSettings); + + var publishSettings = new DotNetPublishSettings() + .EnableNoRestore() + .SetConfiguration(Configuration); + + DotNetPublish(s => publishSettings + .SetProject(HactoolnetProject) + .SetFramework("netcoreapp2.1") + .SetOutput(CliCoreDir)); + + if (EnvironmentInfo.IsWin) + { + DotNetPublish(s => publishSettings + .SetProject(HactoolnetProject) + .SetFramework("net46") + .SetOutput(CliFrameworkDir)); + } + + // Hack around OS newline differences + if (EnvironmentInfo.IsUnix) + { + foreach (string filename in Directory.EnumerateFiles(CliCoreDir, "*.json")) + { + ReplaceLineEndings(filename); + } + } + }); + + Target Pack => _ => _ + .DependsOn(Compile) + .Executes(() => + { + var settings = new DotNetPackSettings() + .SetProject(LibHacProject) + .EnableNoBuild() + .SetConfiguration(Configuration) + .EnableIncludeSymbols() + .SetOutputDirectory(ArtifactsDirectory); + + if (EnvironmentInfo.IsUnix) + settings = settings.SetProperties( + new Dictionary { ["TargetFrameworks"] = "netcoreapp2.1" }); + + DotNetPack(s => settings); + + if (Host != HostType.AppVeyor) return; + + foreach (string filename in Directory.EnumerateFiles(ArtifactsDirectory, "*.nupkg")) + { + PushArtifact(filename); + } + }); + + Target Merge => _ => _ + .DependsOn(Compile) + .OnlyWhen(() => EnvironmentInfo.IsWin) + .Executes(() => + { + string[] libraries = Directory.GetFiles(CliFrameworkDir, "*.dll"); + var cliList = new List { CliFrameworkDir / "hactoolnet.exe" }; + cliList.AddRange(libraries); + + var cliOptions = new RepackOptions + { + OutputFile = CliMergedExe, + InputAssemblies = cliList.ToArray(), + SearchDirectories = new[] { "." } + }; + + new ILRepack(cliOptions).Repack(); + + if (Host == HostType.AppVeyor) + { + PushArtifact(CliMergedExe); + } + }); + + Target Test => _ => _ + .DependsOn(Compile) + .Executes(() => + { + var settings = new DotNetTestSettings() + .SetProjectFile(LibHacTestProject) + .EnableNoBuild() + .SetConfiguration(Configuration); + + if (EnvironmentInfo.IsUnix) settings = settings.SetFramework("netcoreapp2.1"); + + DotNetTest(s => settings); + }); + + Target Zip => _ => _ + .DependsOn(Pack) + .Executes(() => + { + string[] namesFx = Directory.EnumerateFiles(CliFrameworkDir, "*.exe") + .Concat(Directory.EnumerateFiles(CliFrameworkDir, "*.dll")) + .ToArray(); + + string[] namesCore = Directory.EnumerateFiles(CliCoreDir, "*.json") + .Concat(Directory.EnumerateFiles(CliCoreDir, "*.dll")) + .ToArray(); + + if (EnvironmentInfo.IsWin) + { + ZipFiles(CliFrameworkZip, namesFx); + Console.WriteLine($"Created {CliFrameworkZip}"); + } + + ZipFiles(CliCoreZip, namesCore); + Console.WriteLine($"Created {CliCoreZip}"); + + if (Host == HostType.AppVeyor) + { + PushArtifact(CliFrameworkZip); + PushArtifact(CliCoreZip); + PushArtifact(CliMergedExe); + } + }); + + Target Results => _ => _ + .DependsOn(Test, Zip, Merge) + .Executes(() => + { + Console.WriteLine("SHA-1:"); + using (SHA1 sha = SHA1.Create()) + { + foreach (string filename in Directory.EnumerateFiles(ArtifactsDirectory)) + { + using (var stream = new FileStream(filename, FileMode.Open)) + { + string hash = BitConverter.ToString(sha.ComputeHash(stream)).Replace("-", ""); + Console.WriteLine($"{hash} - {Path.GetFileName(filename)}"); + } + } + } + }); + + public static void ZipFiles(string outFile, string[] files) + { + using (var s = new ZipOutputStream(File.Create(outFile))) + { + s.SetLevel(9); + + foreach (string file in files) + { + var entry = new ZipEntry(Path.GetFileName(file)); + entry.DateTime = DateTime.UnixEpoch; + + using (FileStream fs = File.OpenRead(file)) + { + entry.Size = fs.Length; + s.PutNextEntry(entry); + fs.CopyTo(s); + } + } + } + } + + public static void PushArtifact(string path) + { + if (!File.Exists(path)) + { + Console.WriteLine($"Unable to add artifact {path}"); + } + + var psi = new ProcessStartInfo + { + FileName = "appveyor", + Arguments = $"PushArtifact \"{path}\"", + UseShellExecute = false, + RedirectStandardOutput = true, + RedirectStandardError = true + }; + + var proc = new Process + { + StartInfo = psi + }; + + proc.Start(); + + proc.WaitForExit(); + + Console.WriteLine($"Added AppVeyor artifact {path}"); + } + + public static void ReplaceLineEndings(string filename) + { + string text = File.ReadAllText(filename); + File.WriteAllText(filename, text.Replace("\n", "\r\n")); + } +} diff --git a/build/_build.csproj b/build/_build.csproj new file mode 100644 index 00000000..1a225dc8 --- /dev/null +++ b/build/_build.csproj @@ -0,0 +1,24 @@ + + + + Exe + netcoreapp2.1 + false + + False + CS0649;CS0169 + + + + + + + + + + + + + + + diff --git a/build/_build.csproj.DotSettings b/build/_build.csproj.DotSettings new file mode 100644 index 00000000..96e392e6 --- /dev/null +++ b/build/_build.csproj.DotSettings @@ -0,0 +1,23 @@ + + False + Implicit + Implicit + ExpressionBody + 0 + NEXT_LINE + True + False + 120 + IF_OWNER_IS_SINGLE_LINE + WRAP_IF_LONG + False + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /> + True + True + True + True + True + True + True + True diff --git a/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/BlockZero.cs b/src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/BlockZero.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ApplePartitionMap/BlockZero.cs rename to src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/BlockZero.cs diff --git a/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMap.cs b/src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMap.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMap.cs rename to src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMap.cs diff --git a/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapEntry.cs b/src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapEntry.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapEntry.cs rename to src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapEntry.cs diff --git a/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapFactory.cs b/src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/ApplePartitionMap/PartitionMapFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Archives/FileRecord.cs b/src/LibHac.Nand/DiscUtils.Core/Archives/FileRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Archives/FileRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/Archives/FileRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/Archives/TarFile.cs b/src/LibHac.Nand/DiscUtils.Core/Archives/TarFile.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Archives/TarFile.cs rename to src/LibHac.Nand/DiscUtils.Core/Archives/TarFile.cs diff --git a/LibHac.Nand/DiscUtils.Core/Archives/TarFileBuilder.cs b/src/LibHac.Nand/DiscUtils.Core/Archives/TarFileBuilder.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Archives/TarFileBuilder.cs rename to src/LibHac.Nand/DiscUtils.Core/Archives/TarFileBuilder.cs diff --git a/LibHac.Nand/DiscUtils.Core/Archives/TarHeader.cs b/src/LibHac.Nand/DiscUtils.Core/Archives/TarHeader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Archives/TarHeader.cs rename to src/LibHac.Nand/DiscUtils.Core/Archives/TarHeader.cs diff --git a/LibHac.Nand/DiscUtils.Core/Archives/TarHeaderExtent.cs b/src/LibHac.Nand/DiscUtils.Core/Archives/TarHeaderExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Archives/TarHeaderExtent.cs rename to src/LibHac.Nand/DiscUtils.Core/Archives/TarHeaderExtent.cs diff --git a/LibHac.Nand/DiscUtils.Core/Archives/UnixBuildFileRecord.cs b/src/LibHac.Nand/DiscUtils.Core/Archives/UnixBuildFileRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Archives/UnixBuildFileRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/Archives/UnixBuildFileRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/ChsAddress.cs b/src/LibHac.Nand/DiscUtils.Core/ChsAddress.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ChsAddress.cs rename to src/LibHac.Nand/DiscUtils.Core/ChsAddress.cs diff --git a/LibHac.Nand/DiscUtils.Core/ClusterMap.cs b/src/LibHac.Nand/DiscUtils.Core/ClusterMap.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ClusterMap.cs rename to src/LibHac.Nand/DiscUtils.Core/ClusterMap.cs diff --git a/LibHac.Nand/DiscUtils.Core/ClusterRoles.cs b/src/LibHac.Nand/DiscUtils.Core/ClusterRoles.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ClusterRoles.cs rename to src/LibHac.Nand/DiscUtils.Core/ClusterRoles.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/Adler32.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/Adler32.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/Adler32.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/Adler32.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BZip2BlockDecoder.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BZip2BlockDecoder.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BZip2BlockDecoder.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BZip2BlockDecoder.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BZip2CombinedHuffmanTrees.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BZip2CombinedHuffmanTrees.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BZip2CombinedHuffmanTrees.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BZip2CombinedHuffmanTrees.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BZip2DecoderStream.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BZip2DecoderStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BZip2DecoderStream.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BZip2DecoderStream.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BZip2Randomizer.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BZip2Randomizer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BZip2Randomizer.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BZip2Randomizer.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BZip2RleStream.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BZip2RleStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BZip2RleStream.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BZip2RleStream.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BigEndianBitStream.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BigEndianBitStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BigEndianBitStream.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BigEndianBitStream.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BitStream.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BitStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BitStream.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BitStream.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/BlockCompressor.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/BlockCompressor.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/BlockCompressor.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/BlockCompressor.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/CompressionResult.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/CompressionResult.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/CompressionResult.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/CompressionResult.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/DataBlockTransform.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/DataBlockTransform.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/DataBlockTransform.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/DataBlockTransform.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/HuffmanTree.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/HuffmanTree.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/HuffmanTree.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/HuffmanTree.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/InverseBurrowsWheeler.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/InverseBurrowsWheeler.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/InverseBurrowsWheeler.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/InverseBurrowsWheeler.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/MoveToFront.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/MoveToFront.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/MoveToFront.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/MoveToFront.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/SizedDeflateStream.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/SizedDeflateStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/SizedDeflateStream.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/SizedDeflateStream.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/ZlibBuffer.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/ZlibBuffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/ZlibBuffer.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/ZlibBuffer.cs diff --git a/LibHac.Nand/DiscUtils.Core/Compression/ZlibStream.cs b/src/LibHac.Nand/DiscUtils.Core/Compression/ZlibStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Compression/ZlibStream.cs rename to src/LibHac.Nand/DiscUtils.Core/Compression/ZlibStream.cs diff --git a/LibHac.Nand/DiscUtils.Core/CoreCompat/EncodingHelper.cs b/src/LibHac.Nand/DiscUtils.Core/CoreCompat/EncodingHelper.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/CoreCompat/EncodingHelper.cs rename to src/LibHac.Nand/DiscUtils.Core/CoreCompat/EncodingHelper.cs diff --git a/LibHac.Nand/DiscUtils.Core/CoreCompat/ReflectionHelper.cs b/src/LibHac.Nand/DiscUtils.Core/CoreCompat/ReflectionHelper.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/CoreCompat/ReflectionHelper.cs rename to src/LibHac.Nand/DiscUtils.Core/CoreCompat/ReflectionHelper.cs diff --git a/LibHac.Nand/DiscUtils.Core/CoreCompat/StringExtensions.cs b/src/LibHac.Nand/DiscUtils.Core/CoreCompat/StringExtensions.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/CoreCompat/StringExtensions.cs rename to src/LibHac.Nand/DiscUtils.Core/CoreCompat/StringExtensions.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscDirectoryInfo.cs b/src/LibHac.Nand/DiscUtils.Core/DiscDirectoryInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscDirectoryInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/DiscDirectoryInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscFileInfo.cs b/src/LibHac.Nand/DiscUtils.Core/DiscFileInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscFileInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/DiscFileInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscFileLocator.cs b/src/LibHac.Nand/DiscUtils.Core/DiscFileLocator.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscFileLocator.cs rename to src/LibHac.Nand/DiscUtils.Core/DiscFileLocator.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/DiscFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/DiscFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscFileSystemChecker.cs b/src/LibHac.Nand/DiscUtils.Core/DiscFileSystemChecker.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscFileSystemChecker.cs rename to src/LibHac.Nand/DiscUtils.Core/DiscFileSystemChecker.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscFileSystemInfo.cs b/src/LibHac.Nand/DiscUtils.Core/DiscFileSystemInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscFileSystemInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/DiscFileSystemInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscFileSystemOptions.cs b/src/LibHac.Nand/DiscUtils.Core/DiscFileSystemOptions.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscFileSystemOptions.cs rename to src/LibHac.Nand/DiscUtils.Core/DiscFileSystemOptions.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiscUtils.Core.csproj b/src/LibHac.Nand/DiscUtils.Core/DiscUtils.Core.csproj similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiscUtils.Core.csproj rename to src/LibHac.Nand/DiscUtils.Core/DiscUtils.Core.csproj diff --git a/LibHac.Nand/DiscUtils.Core/DiskImageBuilder.cs b/src/LibHac.Nand/DiscUtils.Core/DiskImageBuilder.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiskImageBuilder.cs rename to src/LibHac.Nand/DiscUtils.Core/DiskImageBuilder.cs diff --git a/LibHac.Nand/DiscUtils.Core/DiskImageFileSpecification.cs b/src/LibHac.Nand/DiscUtils.Core/DiskImageFileSpecification.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/DiskImageFileSpecification.cs rename to src/LibHac.Nand/DiscUtils.Core/DiskImageFileSpecification.cs diff --git a/LibHac.Nand/DiscUtils.Core/FileLocator.cs b/src/LibHac.Nand/DiscUtils.Core/FileLocator.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/FileLocator.cs rename to src/LibHac.Nand/DiscUtils.Core/FileLocator.cs diff --git a/LibHac.Nand/DiscUtils.Core/FileSystemInfo.cs b/src/LibHac.Nand/DiscUtils.Core/FileSystemInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/FileSystemInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/FileSystemInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/FileSystemManager.cs b/src/LibHac.Nand/DiscUtils.Core/FileSystemManager.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/FileSystemManager.cs rename to src/LibHac.Nand/DiscUtils.Core/FileSystemManager.cs diff --git a/LibHac.Nand/DiscUtils.Core/FileSystemParameters.cs b/src/LibHac.Nand/DiscUtils.Core/FileSystemParameters.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/FileSystemParameters.cs rename to src/LibHac.Nand/DiscUtils.Core/FileSystemParameters.cs diff --git a/LibHac.Nand/DiscUtils.Core/FileTransport.cs b/src/LibHac.Nand/DiscUtils.Core/FileTransport.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/FileTransport.cs rename to src/LibHac.Nand/DiscUtils.Core/FileTransport.cs diff --git a/LibHac.Nand/DiscUtils.Core/FloppyDiskType.cs b/src/LibHac.Nand/DiscUtils.Core/FloppyDiskType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/FloppyDiskType.cs rename to src/LibHac.Nand/DiscUtils.Core/FloppyDiskType.cs diff --git a/LibHac.Nand/DiscUtils.Core/GenericDiskAdapterType.cs b/src/LibHac.Nand/DiscUtils.Core/GenericDiskAdapterType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/GenericDiskAdapterType.cs rename to src/LibHac.Nand/DiscUtils.Core/GenericDiskAdapterType.cs diff --git a/LibHac.Nand/DiscUtils.Core/Geometry.cs b/src/LibHac.Nand/DiscUtils.Core/Geometry.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Geometry.cs rename to src/LibHac.Nand/DiscUtils.Core/Geometry.cs diff --git a/LibHac.Nand/DiscUtils.Core/GeometryCalculation.cs b/src/LibHac.Nand/DiscUtils.Core/GeometryCalculation.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/GeometryCalculation.cs rename to src/LibHac.Nand/DiscUtils.Core/GeometryCalculation.cs diff --git a/LibHac.Nand/DiscUtils.Core/GeometryTranslation.cs b/src/LibHac.Nand/DiscUtils.Core/GeometryTranslation.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/GeometryTranslation.cs rename to src/LibHac.Nand/DiscUtils.Core/GeometryTranslation.cs diff --git a/LibHac.Nand/DiscUtils.Core/IClusterBasedFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/IClusterBasedFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/IClusterBasedFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/IClusterBasedFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/IDiagnosticTraceable.cs b/src/LibHac.Nand/DiscUtils.Core/IDiagnosticTraceable.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/IDiagnosticTraceable.cs rename to src/LibHac.Nand/DiscUtils.Core/IDiagnosticTraceable.cs diff --git a/LibHac.Nand/DiscUtils.Core/IFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/IFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/IFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/IFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/IUnixFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/IUnixFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/IUnixFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/IUnixFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/Crc32.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/Crc32.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/Crc32.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/Crc32.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/Crc32Algorithm.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/Crc32Algorithm.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/Crc32Algorithm.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/Crc32Algorithm.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/Crc32BigEndian.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/Crc32BigEndian.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/Crc32BigEndian.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/Crc32BigEndian.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/Crc32LittleEndian.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/Crc32LittleEndian.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/Crc32LittleEndian.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/Crc32LittleEndian.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/LocalFileLocator.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/LocalFileLocator.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/LocalFileLocator.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/LocalFileLocator.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactory.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactoryAttribute.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactoryAttribute.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactoryAttribute.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/LogicalVolumeFactoryAttribute.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/ObjectCache.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/ObjectCache.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/ObjectCache.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/ObjectCache.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/Utilities.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/Utilities.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/Utilities.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/Utilities.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactory.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactoryAttribute.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactoryAttribute.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactoryAttribute.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskFactoryAttribute.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransport.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransport.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransport.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransport.cs diff --git a/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransportAttribute.cs b/src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransportAttribute.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransportAttribute.cs rename to src/LibHac.Nand/DiscUtils.Core/Internal/VirtualDiskTransportAttribute.cs diff --git a/LibHac.Nand/DiscUtils.Core/InvalidFileSystemException.cs b/src/LibHac.Nand/DiscUtils.Core/InvalidFileSystemException.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/InvalidFileSystemException.cs rename to src/LibHac.Nand/DiscUtils.Core/InvalidFileSystemException.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ComponentRecord.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ComponentRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ComponentRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ComponentRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/Database.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/Database.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/Database.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/Database.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseHeader.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseHeader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseHeader.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseHeader.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseRecord.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DatabaseRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskGroupRecord.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskGroupRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskGroupRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskGroupRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskRecord.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DiskRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDisk.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDisk.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDisk.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDisk.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskGroup.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskGroup.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskGroup.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskGroup.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManager.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManager.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManager.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManager.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManagerFactory.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManagerFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManagerFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicDiskManagerFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicVolume.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicVolume.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicVolume.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/DynamicVolume.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentMergeType.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentMergeType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentMergeType.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentMergeType.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentRecord.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/ExtentRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/PrivateHeader.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/PrivateHeader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/PrivateHeader.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/PrivateHeader.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/RecordType.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/RecordType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/RecordType.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/RecordType.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/TocBlock.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/TocBlock.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/TocBlock.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/TocBlock.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/VolumeRecord.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/VolumeRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalDiskManager/VolumeRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalDiskManager/VolumeRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalVolumeInfo.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalVolumeInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalVolumeInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalVolumeInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/LogicalVolumeStatus.cs b/src/LibHac.Nand/DiscUtils.Core/LogicalVolumeStatus.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/LogicalVolumeStatus.cs rename to src/LibHac.Nand/DiscUtils.Core/LogicalVolumeStatus.cs diff --git a/LibHac.Nand/DiscUtils.Core/NativeFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/NativeFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/NativeFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/NativeFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/BiosExtendedPartitionTable.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/BiosExtendedPartitionTable.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/BiosExtendedPartitionTable.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/BiosExtendedPartitionTable.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionInfo.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionRecord.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionRecord.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionRecord.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionRecord.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTable.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTable.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTable.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTable.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTypes.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTypes.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTypes.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionTypes.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionedDiskBuilder.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionedDiskBuilder.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionedDiskBuilder.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/BiosPartitionedDiskBuilder.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/DefaultPartitionTableFactory.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/DefaultPartitionTableFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/DefaultPartitionTableFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/DefaultPartitionTableFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/GptEntry.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/GptEntry.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/GptEntry.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/GptEntry.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/GptHeader.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/GptHeader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/GptHeader.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/GptHeader.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionInfo.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTable.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTable.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTable.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTable.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTypes.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTypes.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTypes.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/GuidPartitionTypes.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/PartitionInfo.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/PartitionInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTable.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTable.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/PartitionTable.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTable.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactory.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactoryAttribute.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactoryAttribute.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactoryAttribute.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/PartitionTableFactoryAttribute.cs diff --git a/LibHac.Nand/DiscUtils.Core/Partitions/WellKnownPartitionType.cs b/src/LibHac.Nand/DiscUtils.Core/Partitions/WellKnownPartitionType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Partitions/WellKnownPartitionType.cs rename to src/LibHac.Nand/DiscUtils.Core/Partitions/WellKnownPartitionType.cs diff --git a/LibHac.Nand/DiscUtils.Core/PhysicalVolumeInfo.cs b/src/LibHac.Nand/DiscUtils.Core/PhysicalVolumeInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/PhysicalVolumeInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/PhysicalVolumeInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/PhysicalVolumeType.cs b/src/LibHac.Nand/DiscUtils.Core/PhysicalVolumeType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/PhysicalVolumeType.cs rename to src/LibHac.Nand/DiscUtils.Core/PhysicalVolumeType.cs diff --git a/LibHac.Nand/DiscUtils.Core/Plist.cs b/src/LibHac.Nand/DiscUtils.Core/Plist.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Plist.cs rename to src/LibHac.Nand/DiscUtils.Core/Plist.cs diff --git a/LibHac.Nand/DiscUtils.Core/Raw/Disk.cs b/src/LibHac.Nand/DiscUtils.Core/Raw/Disk.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Raw/Disk.cs rename to src/LibHac.Nand/DiscUtils.Core/Raw/Disk.cs diff --git a/LibHac.Nand/DiscUtils.Core/Raw/DiskFactory.cs b/src/LibHac.Nand/DiscUtils.Core/Raw/DiskFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Raw/DiskFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/Raw/DiskFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Raw/DiskImageFile.cs b/src/LibHac.Nand/DiscUtils.Core/Raw/DiskImageFile.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Raw/DiskImageFile.cs rename to src/LibHac.Nand/DiscUtils.Core/Raw/DiskImageFile.cs diff --git a/LibHac.Nand/DiscUtils.Core/ReadOnlyDiscFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/ReadOnlyDiscFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ReadOnlyDiscFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/ReadOnlyDiscFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/ReparsePoint.cs b/src/LibHac.Nand/DiscUtils.Core/ReparsePoint.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ReparsePoint.cs rename to src/LibHac.Nand/DiscUtils.Core/ReparsePoint.cs diff --git a/LibHac.Nand/DiscUtils.Core/ReportLevels.cs b/src/LibHac.Nand/DiscUtils.Core/ReportLevels.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/ReportLevels.cs rename to src/LibHac.Nand/DiscUtils.Core/ReportLevels.cs diff --git a/LibHac.Nand/DiscUtils.Core/Setup/FileOpenEventArgs.cs b/src/LibHac.Nand/DiscUtils.Core/Setup/FileOpenEventArgs.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Setup/FileOpenEventArgs.cs rename to src/LibHac.Nand/DiscUtils.Core/Setup/FileOpenEventArgs.cs diff --git a/LibHac.Nand/DiscUtils.Core/Setup/SetupHelper.cs b/src/LibHac.Nand/DiscUtils.Core/Setup/SetupHelper.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Setup/SetupHelper.cs rename to src/LibHac.Nand/DiscUtils.Core/Setup/SetupHelper.cs diff --git a/LibHac.Nand/DiscUtils.Core/System/DateTimeOffsetExtensions.cs b/src/LibHac.Nand/DiscUtils.Core/System/DateTimeOffsetExtensions.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/System/DateTimeOffsetExtensions.cs rename to src/LibHac.Nand/DiscUtils.Core/System/DateTimeOffsetExtensions.cs diff --git a/LibHac.Nand/DiscUtils.Core/System/ExtensionAttribute.cs b/src/LibHac.Nand/DiscUtils.Core/System/ExtensionAttribute.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/System/ExtensionAttribute.cs rename to src/LibHac.Nand/DiscUtils.Core/System/ExtensionAttribute.cs diff --git a/LibHac.Nand/DiscUtils.Core/System/HashSet.cs b/src/LibHac.Nand/DiscUtils.Core/System/HashSet.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/System/HashSet.cs rename to src/LibHac.Nand/DiscUtils.Core/System/HashSet.cs diff --git a/LibHac.Nand/DiscUtils.Core/System/Tuple.cs b/src/LibHac.Nand/DiscUtils.Core/System/Tuple.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/System/Tuple.cs rename to src/LibHac.Nand/DiscUtils.Core/System/Tuple.cs diff --git a/LibHac.Nand/DiscUtils.Core/TimeConverter.cs b/src/LibHac.Nand/DiscUtils.Core/TimeConverter.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/TimeConverter.cs rename to src/LibHac.Nand/DiscUtils.Core/TimeConverter.cs diff --git a/LibHac.Nand/DiscUtils.Core/UnixFilePermissions.cs b/src/LibHac.Nand/DiscUtils.Core/UnixFilePermissions.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/UnixFilePermissions.cs rename to src/LibHac.Nand/DiscUtils.Core/UnixFilePermissions.cs diff --git a/LibHac.Nand/DiscUtils.Core/UnixFileSystemInfo.cs b/src/LibHac.Nand/DiscUtils.Core/UnixFileSystemInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/UnixFileSystemInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/UnixFileSystemInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/UnixFileType.cs b/src/LibHac.Nand/DiscUtils.Core/UnixFileType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/UnixFileType.cs rename to src/LibHac.Nand/DiscUtils.Core/UnixFileType.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/IVfsDirectory.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsDirectory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/IVfsDirectory.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsDirectory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/IVfsFile.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsFile.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/IVfsFile.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsFile.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/IVfsFileWithStreams.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsFileWithStreams.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/IVfsFileWithStreams.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsFileWithStreams.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/IVfsSymlink.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsSymlink.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/IVfsSymlink.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/IVfsSymlink.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsContext.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsContext.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsContext.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsContext.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsDirEntry.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsDirEntry.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsDirEntry.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsDirEntry.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFacade.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFacade.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFacade.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFacade.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactory.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactory.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactory.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactoryAttribute.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactoryAttribute.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactoryAttribute.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemFactoryAttribute.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemInfo.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemOpener.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemOpener.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemOpener.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsFileSystemOpener.cs diff --git a/LibHac.Nand/DiscUtils.Core/Vfs/VfsReadOnlyFileSystem.cs b/src/LibHac.Nand/DiscUtils.Core/Vfs/VfsReadOnlyFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/Vfs/VfsReadOnlyFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Core/Vfs/VfsReadOnlyFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Core/VirtualDisk.cs b/src/LibHac.Nand/DiscUtils.Core/VirtualDisk.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VirtualDisk.cs rename to src/LibHac.Nand/DiscUtils.Core/VirtualDisk.cs diff --git a/LibHac.Nand/DiscUtils.Core/VirtualDiskClass.cs b/src/LibHac.Nand/DiscUtils.Core/VirtualDiskClass.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VirtualDiskClass.cs rename to src/LibHac.Nand/DiscUtils.Core/VirtualDiskClass.cs diff --git a/LibHac.Nand/DiscUtils.Core/VirtualDiskExtent.cs b/src/LibHac.Nand/DiscUtils.Core/VirtualDiskExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VirtualDiskExtent.cs rename to src/LibHac.Nand/DiscUtils.Core/VirtualDiskExtent.cs diff --git a/LibHac.Nand/DiscUtils.Core/VirtualDiskLayer.cs b/src/LibHac.Nand/DiscUtils.Core/VirtualDiskLayer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VirtualDiskLayer.cs rename to src/LibHac.Nand/DiscUtils.Core/VirtualDiskLayer.cs diff --git a/LibHac.Nand/DiscUtils.Core/VirtualDiskManager.cs b/src/LibHac.Nand/DiscUtils.Core/VirtualDiskManager.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VirtualDiskManager.cs rename to src/LibHac.Nand/DiscUtils.Core/VirtualDiskManager.cs diff --git a/LibHac.Nand/DiscUtils.Core/VirtualDiskParameters.cs b/src/LibHac.Nand/DiscUtils.Core/VirtualDiskParameters.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VirtualDiskParameters.cs rename to src/LibHac.Nand/DiscUtils.Core/VirtualDiskParameters.cs diff --git a/LibHac.Nand/DiscUtils.Core/VirtualDiskTypeInfo.cs b/src/LibHac.Nand/DiscUtils.Core/VirtualDiskTypeInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VirtualDiskTypeInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/VirtualDiskTypeInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/VolumeInfo.cs b/src/LibHac.Nand/DiscUtils.Core/VolumeInfo.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VolumeInfo.cs rename to src/LibHac.Nand/DiscUtils.Core/VolumeInfo.cs diff --git a/LibHac.Nand/DiscUtils.Core/VolumeManager.cs b/src/LibHac.Nand/DiscUtils.Core/VolumeManager.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/VolumeManager.cs rename to src/LibHac.Nand/DiscUtils.Core/VolumeManager.cs diff --git a/LibHac.Nand/DiscUtils.Core/WindowsFileInformation.cs b/src/LibHac.Nand/DiscUtils.Core/WindowsFileInformation.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Core/WindowsFileInformation.cs rename to src/LibHac.Nand/DiscUtils.Core/WindowsFileInformation.cs diff --git a/LibHac.Nand/DiscUtils.Fat/ClusterReader.cs b/src/LibHac.Nand/DiscUtils.Fat/ClusterReader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/ClusterReader.cs rename to src/LibHac.Nand/DiscUtils.Fat/ClusterReader.cs diff --git a/LibHac.Nand/DiscUtils.Fat/ClusterStream.cs b/src/LibHac.Nand/DiscUtils.Fat/ClusterStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/ClusterStream.cs rename to src/LibHac.Nand/DiscUtils.Fat/ClusterStream.cs diff --git a/LibHac.Nand/DiscUtils.Fat/Directory.cs b/src/LibHac.Nand/DiscUtils.Fat/Directory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/Directory.cs rename to src/LibHac.Nand/DiscUtils.Fat/Directory.cs diff --git a/LibHac.Nand/DiscUtils.Fat/DirectoryEntry.cs b/src/LibHac.Nand/DiscUtils.Fat/DirectoryEntry.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/DirectoryEntry.cs rename to src/LibHac.Nand/DiscUtils.Fat/DirectoryEntry.cs diff --git a/LibHac.Nand/DiscUtils.Fat/DiscUtils.Fat.csproj b/src/LibHac.Nand/DiscUtils.Fat/DiscUtils.Fat.csproj similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/DiscUtils.Fat.csproj rename to src/LibHac.Nand/DiscUtils.Fat/DiscUtils.Fat.csproj diff --git a/LibHac.Nand/DiscUtils.Fat/FatAttributes.cs b/src/LibHac.Nand/DiscUtils.Fat/FatAttributes.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FatAttributes.cs rename to src/LibHac.Nand/DiscUtils.Fat/FatAttributes.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FatBuffer.cs b/src/LibHac.Nand/DiscUtils.Fat/FatBuffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FatBuffer.cs rename to src/LibHac.Nand/DiscUtils.Fat/FatBuffer.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FatFileStream.cs b/src/LibHac.Nand/DiscUtils.Fat/FatFileStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FatFileStream.cs rename to src/LibHac.Nand/DiscUtils.Fat/FatFileStream.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FatFileSystem.cs b/src/LibHac.Nand/DiscUtils.Fat/FatFileSystem.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FatFileSystem.cs rename to src/LibHac.Nand/DiscUtils.Fat/FatFileSystem.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FatFileSystemOptions.cs b/src/LibHac.Nand/DiscUtils.Fat/FatFileSystemOptions.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FatFileSystemOptions.cs rename to src/LibHac.Nand/DiscUtils.Fat/FatFileSystemOptions.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FatType.cs b/src/LibHac.Nand/DiscUtils.Fat/FatType.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FatType.cs rename to src/LibHac.Nand/DiscUtils.Fat/FatType.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FileAllocationTable.cs b/src/LibHac.Nand/DiscUtils.Fat/FileAllocationTable.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FileAllocationTable.cs rename to src/LibHac.Nand/DiscUtils.Fat/FileAllocationTable.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FileName.cs b/src/LibHac.Nand/DiscUtils.Fat/FileName.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FileName.cs rename to src/LibHac.Nand/DiscUtils.Fat/FileName.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FileSystemFactory.cs b/src/LibHac.Nand/DiscUtils.Fat/FileSystemFactory.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FileSystemFactory.cs rename to src/LibHac.Nand/DiscUtils.Fat/FileSystemFactory.cs diff --git a/LibHac.Nand/DiscUtils.Fat/FirstClusterChangedDelegate.cs b/src/LibHac.Nand/DiscUtils.Fat/FirstClusterChangedDelegate.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/FirstClusterChangedDelegate.cs rename to src/LibHac.Nand/DiscUtils.Fat/FirstClusterChangedDelegate.cs diff --git a/LibHac.Nand/DiscUtils.Fat/Slot.cs b/src/LibHac.Nand/DiscUtils.Fat/Slot.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Fat/Slot.cs rename to src/LibHac.Nand/DiscUtils.Fat/Slot.cs diff --git a/LibHac.Nand/DiscUtils.Streams/AligningStream.cs b/src/LibHac.Nand/DiscUtils.Streams/AligningStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/AligningStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/AligningStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Block/Block.cs b/src/LibHac.Nand/DiscUtils.Streams/Block/Block.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Block/Block.cs rename to src/LibHac.Nand/DiscUtils.Streams/Block/Block.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Block/BlockCache.cs b/src/LibHac.Nand/DiscUtils.Streams/Block/BlockCache.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Block/BlockCache.cs rename to src/LibHac.Nand/DiscUtils.Streams/Block/BlockCache.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheSettings.cs b/src/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheSettings.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Block/BlockCacheSettings.cs rename to src/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheSettings.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStatistics.cs b/src/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStatistics.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStatistics.cs rename to src/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStatistics.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStream.cs b/src/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/Block/BlockCacheStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Buffer/Buffer.cs b/src/LibHac.Nand/DiscUtils.Streams/Buffer/Buffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Buffer/Buffer.cs rename to src/LibHac.Nand/DiscUtils.Streams/Buffer/Buffer.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Buffer/BufferStream.cs b/src/LibHac.Nand/DiscUtils.Streams/Buffer/BufferStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Buffer/BufferStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/Buffer/BufferStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Buffer/IBuffer.cs b/src/LibHac.Nand/DiscUtils.Streams/Buffer/IBuffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Buffer/IBuffer.cs rename to src/LibHac.Nand/DiscUtils.Streams/Buffer/IBuffer.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Buffer/IMappedBuffer.cs b/src/LibHac.Nand/DiscUtils.Streams/Buffer/IMappedBuffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Buffer/IMappedBuffer.cs rename to src/LibHac.Nand/DiscUtils.Streams/Buffer/IMappedBuffer.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Buffer/SubBuffer.cs b/src/LibHac.Nand/DiscUtils.Streams/Buffer/SubBuffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Buffer/SubBuffer.cs rename to src/LibHac.Nand/DiscUtils.Streams/Buffer/SubBuffer.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtent.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtent.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtent.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtentSource.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtentSource.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtentSource.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBufferExtentSource.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBytesExtent.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBytesExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderBytesExtent.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderBytesExtent.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtent.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtent.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtent.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtentSource.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtentSource.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtentSource.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderExtentSource.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderSparseStreamExtent.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderSparseStreamExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderSparseStreamExtent.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderSparseStreamExtent.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtent.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtent.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtent.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtentSource.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtentSource.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtentSource.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/BuilderStreamExtentSource.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/PassthroughStreamBuilder.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/PassthroughStreamBuilder.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/PassthroughStreamBuilder.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/PassthroughStreamBuilder.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Builder/StreamBuilder.cs b/src/LibHac.Nand/DiscUtils.Streams/Builder/StreamBuilder.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Builder/StreamBuilder.cs rename to src/LibHac.Nand/DiscUtils.Streams/Builder/StreamBuilder.cs diff --git a/LibHac.Nand/DiscUtils.Streams/BuiltStream.cs b/src/LibHac.Nand/DiscUtils.Streams/BuiltStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/BuiltStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/BuiltStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/CircularStream.cs b/src/LibHac.Nand/DiscUtils.Streams/CircularStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/CircularStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/CircularStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ConcatStream.cs b/src/LibHac.Nand/DiscUtils.Streams/ConcatStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ConcatStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/ConcatStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/DiscUtils.Streams.csproj b/src/LibHac.Nand/DiscUtils.Streams/DiscUtils.Streams.csproj similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/DiscUtils.Streams.csproj rename to src/LibHac.Nand/DiscUtils.Streams/DiscUtils.Streams.csproj diff --git a/LibHac.Nand/DiscUtils.Streams/IByteArraySerializable.cs b/src/LibHac.Nand/DiscUtils.Streams/IByteArraySerializable.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/IByteArraySerializable.cs rename to src/LibHac.Nand/DiscUtils.Streams/IByteArraySerializable.cs diff --git a/LibHac.Nand/DiscUtils.Streams/LengthWrappingStream.cs b/src/LibHac.Nand/DiscUtils.Streams/LengthWrappingStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/LengthWrappingStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/LengthWrappingStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/MappedStream.cs b/src/LibHac.Nand/DiscUtils.Streams/MappedStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/MappedStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/MappedStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/MirrorStream.cs b/src/LibHac.Nand/DiscUtils.Streams/MirrorStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/MirrorStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/MirrorStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/PositionWrappingStream.cs b/src/LibHac.Nand/DiscUtils.Streams/PositionWrappingStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/PositionWrappingStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/PositionWrappingStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/PumpProgressEventArgs.cs b/src/LibHac.Nand/DiscUtils.Streams/PumpProgressEventArgs.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/PumpProgressEventArgs.cs rename to src/LibHac.Nand/DiscUtils.Streams/PumpProgressEventArgs.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataReader.cs b/src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataReader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataReader.cs rename to src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataReader.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataWriter.cs b/src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataWriter.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataWriter.cs rename to src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/BigEndianDataWriter.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataReader.cs b/src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataReader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataReader.cs rename to src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataReader.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataWriter.cs b/src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataWriter.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataWriter.cs rename to src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/DataWriter.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ReaderWriter/LittleEndianDataReader.cs b/src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/LittleEndianDataReader.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ReaderWriter/LittleEndianDataReader.cs rename to src/LibHac.Nand/DiscUtils.Streams/ReaderWriter/LittleEndianDataReader.cs diff --git a/LibHac.Nand/DiscUtils.Streams/SnapshotStream.cs b/src/LibHac.Nand/DiscUtils.Streams/SnapshotStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/SnapshotStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/SnapshotStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/SparseMemoryBuffer.cs b/src/LibHac.Nand/DiscUtils.Streams/SparseMemoryBuffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/SparseMemoryBuffer.cs rename to src/LibHac.Nand/DiscUtils.Streams/SparseMemoryBuffer.cs diff --git a/LibHac.Nand/DiscUtils.Streams/SparseMemoryStream.cs b/src/LibHac.Nand/DiscUtils.Streams/SparseMemoryStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/SparseMemoryStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/SparseMemoryStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/SparseStream.cs b/src/LibHac.Nand/DiscUtils.Streams/SparseStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/SparseStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/SparseStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/SparseStreamOpenDelegate.cs b/src/LibHac.Nand/DiscUtils.Streams/SparseStreamOpenDelegate.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/SparseStreamOpenDelegate.cs rename to src/LibHac.Nand/DiscUtils.Streams/SparseStreamOpenDelegate.cs diff --git a/LibHac.Nand/DiscUtils.Streams/StreamBuffer.cs b/src/LibHac.Nand/DiscUtils.Streams/StreamBuffer.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/StreamBuffer.cs rename to src/LibHac.Nand/DiscUtils.Streams/StreamBuffer.cs diff --git a/LibHac.Nand/DiscUtils.Streams/StreamExtent.cs b/src/LibHac.Nand/DiscUtils.Streams/StreamExtent.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/StreamExtent.cs rename to src/LibHac.Nand/DiscUtils.Streams/StreamExtent.cs diff --git a/LibHac.Nand/DiscUtils.Streams/StreamPump.cs b/src/LibHac.Nand/DiscUtils.Streams/StreamPump.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/StreamPump.cs rename to src/LibHac.Nand/DiscUtils.Streams/StreamPump.cs diff --git a/LibHac.Nand/DiscUtils.Streams/StripedStream.cs b/src/LibHac.Nand/DiscUtils.Streams/StripedStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/StripedStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/StripedStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/SubStream.cs b/src/LibHac.Nand/DiscUtils.Streams/SubStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/SubStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/SubStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/System/Func.cs b/src/LibHac.Nand/DiscUtils.Streams/System/Func.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/System/Func.cs rename to src/LibHac.Nand/DiscUtils.Streams/System/Func.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ThreadSafeStream.cs b/src/LibHac.Nand/DiscUtils.Streams/ThreadSafeStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ThreadSafeStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/ThreadSafeStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/BitCounter.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/BitCounter.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/BitCounter.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/BitCounter.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/EndianUtilities.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/EndianUtilities.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/EndianUtilities.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/EndianUtilities.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/MathUtilities.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/MathUtilities.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/MathUtilities.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/MathUtilities.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/Numbers.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/Numbers.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/Numbers.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/Numbers.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/Ownership.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/Ownership.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/Ownership.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/Ownership.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/Range.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/Range.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/Range.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/Range.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/Sizes.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/Sizes.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/Sizes.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/Sizes.cs diff --git a/LibHac.Nand/DiscUtils.Streams/Util/StreamUtilities.cs b/src/LibHac.Nand/DiscUtils.Streams/Util/StreamUtilities.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/Util/StreamUtilities.cs rename to src/LibHac.Nand/DiscUtils.Streams/Util/StreamUtilities.cs diff --git a/LibHac.Nand/DiscUtils.Streams/WrappingMappedStream.cs b/src/LibHac.Nand/DiscUtils.Streams/WrappingMappedStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/WrappingMappedStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/WrappingMappedStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/WrappingStream.cs b/src/LibHac.Nand/DiscUtils.Streams/WrappingStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/WrappingStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/WrappingStream.cs diff --git a/LibHac.Nand/DiscUtils.Streams/ZeroStream.cs b/src/LibHac.Nand/DiscUtils.Streams/ZeroStream.cs similarity index 100% rename from LibHac.Nand/DiscUtils.Streams/ZeroStream.cs rename to src/LibHac.Nand/DiscUtils.Streams/ZeroStream.cs diff --git a/LibHac.Nand/LibHac.Nand.csproj b/src/LibHac.Nand/LibHac.Nand.csproj similarity index 100% rename from LibHac.Nand/LibHac.Nand.csproj rename to src/LibHac.Nand/LibHac.Nand.csproj diff --git a/LibHac.Nand/Nand.cs b/src/LibHac.Nand/Nand.cs similarity index 100% rename from LibHac.Nand/Nand.cs rename to src/LibHac.Nand/Nand.cs diff --git a/LibHac.Nand/NandPartition.cs b/src/LibHac.Nand/NandPartition.cs similarity index 100% rename from LibHac.Nand/NandPartition.cs rename to src/LibHac.Nand/NandPartition.cs diff --git a/LibHac/BitReader.cs b/src/LibHac/BitReader.cs similarity index 100% rename from LibHac/BitReader.cs rename to src/LibHac/BitReader.cs diff --git a/LibHac/Calibration.cs b/src/LibHac/Calibration.cs similarity index 100% rename from LibHac/Calibration.cs rename to src/LibHac/Calibration.cs diff --git a/LibHac/Cnmt.cs b/src/LibHac/Cnmt.cs similarity index 100% rename from LibHac/Cnmt.cs rename to src/LibHac/Cnmt.cs diff --git a/LibHac/Crypto.cs b/src/LibHac/Crypto.cs similarity index 100% rename from LibHac/Crypto.cs rename to src/LibHac/Crypto.cs diff --git a/LibHac/FileSystem.cs b/src/LibHac/FileSystem.cs similarity index 100% rename from LibHac/FileSystem.cs rename to src/LibHac/FileSystem.cs diff --git a/LibHac/IFileSystem.cs b/src/LibHac/IFileSystem.cs similarity index 100% rename from LibHac/IFileSystem.cs rename to src/LibHac/IFileSystem.cs diff --git a/LibHac/IO/Aes128CtrExStorage.cs b/src/LibHac/IO/Aes128CtrExStorage.cs similarity index 100% rename from LibHac/IO/Aes128CtrExStorage.cs rename to src/LibHac/IO/Aes128CtrExStorage.cs diff --git a/LibHac/IO/Aes128CtrStorage.cs b/src/LibHac/IO/Aes128CtrStorage.cs similarity index 100% rename from LibHac/IO/Aes128CtrStorage.cs rename to src/LibHac/IO/Aes128CtrStorage.cs diff --git a/LibHac/IO/Aes128CtrTransform.cs b/src/LibHac/IO/Aes128CtrTransform.cs similarity index 100% rename from LibHac/IO/Aes128CtrTransform.cs rename to src/LibHac/IO/Aes128CtrTransform.cs diff --git a/LibHac/IO/Aes128XtsStorage.cs b/src/LibHac/IO/Aes128XtsStorage.cs similarity index 100% rename from LibHac/IO/Aes128XtsStorage.cs rename to src/LibHac/IO/Aes128XtsStorage.cs diff --git a/LibHac/IO/Aes128XtsTransform.cs b/src/LibHac/IO/Aes128XtsTransform.cs similarity index 100% rename from LibHac/IO/Aes128XtsTransform.cs rename to src/LibHac/IO/Aes128XtsTransform.cs diff --git a/LibHac/IO/BucketTree.cs b/src/LibHac/IO/BucketTree.cs similarity index 100% rename from LibHac/IO/BucketTree.cs rename to src/LibHac/IO/BucketTree.cs diff --git a/LibHac/IO/CachedStorage.cs b/src/LibHac/IO/CachedStorage.cs similarity index 100% rename from LibHac/IO/CachedStorage.cs rename to src/LibHac/IO/CachedStorage.cs diff --git a/LibHac/IO/ConcatenationStorage.cs b/src/LibHac/IO/ConcatenationStorage.cs similarity index 100% rename from LibHac/IO/ConcatenationStorage.cs rename to src/LibHac/IO/ConcatenationStorage.cs diff --git a/LibHac/IO/HierarchicalIntegrityVerificationStorage.cs b/src/LibHac/IO/HierarchicalIntegrityVerificationStorage.cs similarity index 100% rename from LibHac/IO/HierarchicalIntegrityVerificationStorage.cs rename to src/LibHac/IO/HierarchicalIntegrityVerificationStorage.cs diff --git a/LibHac/IO/IStorage.cs b/src/LibHac/IO/IStorage.cs similarity index 100% rename from LibHac/IO/IStorage.cs rename to src/LibHac/IO/IStorage.cs diff --git a/LibHac/IO/IndirectStorage.cs b/src/LibHac/IO/IndirectStorage.cs similarity index 100% rename from LibHac/IO/IndirectStorage.cs rename to src/LibHac/IO/IndirectStorage.cs diff --git a/LibHac/IO/IntegrityVerificationStorage.cs b/src/LibHac/IO/IntegrityVerificationStorage.cs similarity index 100% rename from LibHac/IO/IntegrityVerificationStorage.cs rename to src/LibHac/IO/IntegrityVerificationStorage.cs diff --git a/LibHac/IO/MemoryStorage.cs b/src/LibHac/IO/MemoryStorage.cs similarity index 100% rename from LibHac/IO/MemoryStorage.cs rename to src/LibHac/IO/MemoryStorage.cs diff --git a/LibHac/IO/NullStorage.cs b/src/LibHac/IO/NullStorage.cs similarity index 100% rename from LibHac/IO/NullStorage.cs rename to src/LibHac/IO/NullStorage.cs diff --git a/LibHac/IO/Save/AllocationTable.cs b/src/LibHac/IO/Save/AllocationTable.cs similarity index 100% rename from LibHac/IO/Save/AllocationTable.cs rename to src/LibHac/IO/Save/AllocationTable.cs diff --git a/LibHac/IO/Save/AllocationTableIterator.cs b/src/LibHac/IO/Save/AllocationTableIterator.cs similarity index 100% rename from LibHac/IO/Save/AllocationTableIterator.cs rename to src/LibHac/IO/Save/AllocationTableIterator.cs diff --git a/LibHac/IO/Save/AllocationTableStorage.cs b/src/LibHac/IO/Save/AllocationTableStorage.cs similarity index 100% rename from LibHac/IO/Save/AllocationTableStorage.cs rename to src/LibHac/IO/Save/AllocationTableStorage.cs diff --git a/LibHac/IO/Save/DuplexBitmap.cs b/src/LibHac/IO/Save/DuplexBitmap.cs similarity index 100% rename from LibHac/IO/Save/DuplexBitmap.cs rename to src/LibHac/IO/Save/DuplexBitmap.cs diff --git a/LibHac/IO/Save/DuplexStorage.cs b/src/LibHac/IO/Save/DuplexStorage.cs similarity index 100% rename from LibHac/IO/Save/DuplexStorage.cs rename to src/LibHac/IO/Save/DuplexStorage.cs diff --git a/LibHac/IO/Save/FsEntry.cs b/src/LibHac/IO/Save/FsEntry.cs similarity index 100% rename from LibHac/IO/Save/FsEntry.cs rename to src/LibHac/IO/Save/FsEntry.cs diff --git a/LibHac/IO/Save/Header.cs b/src/LibHac/IO/Save/Header.cs similarity index 100% rename from LibHac/IO/Save/Header.cs rename to src/LibHac/IO/Save/Header.cs diff --git a/LibHac/IO/Save/HierarchicalDuplexStorage.cs b/src/LibHac/IO/Save/HierarchicalDuplexStorage.cs similarity index 100% rename from LibHac/IO/Save/HierarchicalDuplexStorage.cs rename to src/LibHac/IO/Save/HierarchicalDuplexStorage.cs diff --git a/LibHac/IO/Save/JournalMap.cs b/src/LibHac/IO/Save/JournalMap.cs similarity index 100% rename from LibHac/IO/Save/JournalMap.cs rename to src/LibHac/IO/Save/JournalMap.cs diff --git a/LibHac/IO/Save/JournalStorage.cs b/src/LibHac/IO/Save/JournalStorage.cs similarity index 100% rename from LibHac/IO/Save/JournalStorage.cs rename to src/LibHac/IO/Save/JournalStorage.cs diff --git a/LibHac/IO/Save/RemapStorage.cs b/src/LibHac/IO/Save/RemapStorage.cs similarity index 100% rename from LibHac/IO/Save/RemapStorage.cs rename to src/LibHac/IO/Save/RemapStorage.cs diff --git a/LibHac/IO/Save/SaveFs.cs b/src/LibHac/IO/Save/SaveFs.cs similarity index 100% rename from LibHac/IO/Save/SaveFs.cs rename to src/LibHac/IO/Save/SaveFs.cs diff --git a/LibHac/IO/Save/Savefile.cs b/src/LibHac/IO/Save/Savefile.cs similarity index 100% rename from LibHac/IO/Save/Savefile.cs rename to src/LibHac/IO/Save/Savefile.cs diff --git a/LibHac/IO/SectorStorage.cs b/src/LibHac/IO/SectorStorage.cs similarity index 100% rename from LibHac/IO/SectorStorage.cs rename to src/LibHac/IO/SectorStorage.cs diff --git a/LibHac/IO/Storage.cs b/src/LibHac/IO/Storage.cs similarity index 100% rename from LibHac/IO/Storage.cs rename to src/LibHac/IO/Storage.cs diff --git a/LibHac/IO/StorageExtensions.cs b/src/LibHac/IO/StorageExtensions.cs similarity index 100% rename from LibHac/IO/StorageExtensions.cs rename to src/LibHac/IO/StorageExtensions.cs diff --git a/LibHac/IO/StorageStream.cs b/src/LibHac/IO/StorageStream.cs similarity index 100% rename from LibHac/IO/StorageStream.cs rename to src/LibHac/IO/StorageStream.cs diff --git a/LibHac/IO/StreamStorage.cs b/src/LibHac/IO/StreamStorage.cs similarity index 100% rename from LibHac/IO/StreamStorage.cs rename to src/LibHac/IO/StreamStorage.cs diff --git a/LibHac/IO/SubStorage.cs b/src/LibHac/IO/SubStorage.cs similarity index 100% rename from LibHac/IO/SubStorage.cs rename to src/LibHac/IO/SubStorage.cs diff --git a/LibHac/IProgressReport.cs b/src/LibHac/IProgressReport.cs similarity index 100% rename from LibHac/IProgressReport.cs rename to src/LibHac/IProgressReport.cs diff --git a/LibHac/Keyset.cs b/src/LibHac/Keyset.cs similarity index 100% rename from LibHac/Keyset.cs rename to src/LibHac/Keyset.cs diff --git a/LibHac/Kip.cs b/src/LibHac/Kip.cs similarity index 100% rename from LibHac/Kip.cs rename to src/LibHac/Kip.cs diff --git a/LibHac/LibHac.csproj b/src/LibHac/LibHac.csproj similarity index 76% rename from LibHac/LibHac.csproj rename to src/LibHac/LibHac.csproj index e2f0d192..38ad1aed 100644 --- a/LibHac/LibHac.csproj +++ b/src/LibHac/LibHac.csproj @@ -12,7 +12,7 @@ A library for reading content formats used by the Nintendo Switch. Nintendo;Switch;nca;xci;savefile https://github.com/Thealexbarney/LibHac - https://github.com/Thealexbarney/LibHac/blob/master/LICENSE + MIT git https://github.com/Thealexbarney/LibHac @@ -30,10 +30,10 @@ $(DefineConstants);STREAM_SPAN - - - - + + + + diff --git a/LibHac/LibHacException.cs b/src/LibHac/LibHacException.cs similarity index 100% rename from LibHac/LibHacException.cs rename to src/LibHac/LibHacException.cs diff --git a/LibHac/Lz4.cs b/src/LibHac/Lz4.cs similarity index 100% rename from LibHac/Lz4.cs rename to src/LibHac/Lz4.cs diff --git a/LibHac/MissingKeyException.cs b/src/LibHac/MissingKeyException.cs similarity index 100% rename from LibHac/MissingKeyException.cs rename to src/LibHac/MissingKeyException.cs diff --git a/LibHac/Nacp.cs b/src/LibHac/Nacp.cs similarity index 100% rename from LibHac/Nacp.cs rename to src/LibHac/Nacp.cs diff --git a/LibHac/Nax0.cs b/src/LibHac/Nax0.cs similarity index 100% rename from LibHac/Nax0.cs rename to src/LibHac/Nax0.cs diff --git a/LibHac/Nca.cs b/src/LibHac/Nca.cs similarity index 100% rename from LibHac/Nca.cs rename to src/LibHac/Nca.cs diff --git a/LibHac/NcaStructs.cs b/src/LibHac/NcaStructs.cs similarity index 100% rename from LibHac/NcaStructs.cs rename to src/LibHac/NcaStructs.cs diff --git a/LibHac/Npdm/Aci0.cs b/src/LibHac/Npdm/Aci0.cs similarity index 100% rename from LibHac/Npdm/Aci0.cs rename to src/LibHac/Npdm/Aci0.cs diff --git a/LibHac/Npdm/Acid.cs b/src/LibHac/Npdm/Acid.cs similarity index 100% rename from LibHac/Npdm/Acid.cs rename to src/LibHac/Npdm/Acid.cs diff --git a/LibHac/Npdm/ApplicationType.cs b/src/LibHac/Npdm/ApplicationType.cs similarity index 100% rename from LibHac/Npdm/ApplicationType.cs rename to src/LibHac/Npdm/ApplicationType.cs diff --git a/LibHac/Npdm/FSAccessControl.cs b/src/LibHac/Npdm/FSAccessControl.cs similarity index 100% rename from LibHac/Npdm/FSAccessControl.cs rename to src/LibHac/Npdm/FSAccessControl.cs diff --git a/LibHac/Npdm/FSAccessHeader.cs b/src/LibHac/Npdm/FSAccessHeader.cs similarity index 100% rename from LibHac/Npdm/FSAccessHeader.cs rename to src/LibHac/Npdm/FSAccessHeader.cs diff --git a/LibHac/Npdm/FsPermissionBool.cs b/src/LibHac/Npdm/FsPermissionBool.cs similarity index 100% rename from LibHac/Npdm/FsPermissionBool.cs rename to src/LibHac/Npdm/FsPermissionBool.cs diff --git a/LibHac/Npdm/FsPermissionRw.cs b/src/LibHac/Npdm/FsPermissionRw.cs similarity index 100% rename from LibHac/Npdm/FsPermissionRw.cs rename to src/LibHac/Npdm/FsPermissionRw.cs diff --git a/LibHac/Npdm/KernelAccessControl.cs b/src/LibHac/Npdm/KernelAccessControl.cs similarity index 100% rename from LibHac/Npdm/KernelAccessControl.cs rename to src/LibHac/Npdm/KernelAccessControl.cs diff --git a/LibHac/Npdm/KernelAccessControlIrq.cs b/src/LibHac/Npdm/KernelAccessControlIrq.cs similarity index 100% rename from LibHac/Npdm/KernelAccessControlIrq.cs rename to src/LibHac/Npdm/KernelAccessControlIrq.cs diff --git a/LibHac/Npdm/KernelAccessControlMmio.cs b/src/LibHac/Npdm/KernelAccessControlMmio.cs similarity index 100% rename from LibHac/Npdm/KernelAccessControlMmio.cs rename to src/LibHac/Npdm/KernelAccessControlMmio.cs diff --git a/LibHac/Npdm/KernelAccessItem.cs b/src/LibHac/Npdm/KernelAccessItem.cs similarity index 100% rename from LibHac/Npdm/KernelAccessItem.cs rename to src/LibHac/Npdm/KernelAccessItem.cs diff --git a/LibHac/Npdm/NpdmBinary.cs b/src/LibHac/Npdm/NpdmBinary.cs similarity index 100% rename from LibHac/Npdm/NpdmBinary.cs rename to src/LibHac/Npdm/NpdmBinary.cs diff --git a/LibHac/Npdm/ServiceAccessControl.cs b/src/LibHac/Npdm/ServiceAccessControl.cs similarity index 100% rename from LibHac/Npdm/ServiceAccessControl.cs rename to src/LibHac/Npdm/ServiceAccessControl.cs diff --git a/LibHac/Npdm/SvcName.cs b/src/LibHac/Npdm/SvcName.cs similarity index 100% rename from LibHac/Npdm/SvcName.cs rename to src/LibHac/Npdm/SvcName.cs diff --git a/LibHac/Nso.cs b/src/LibHac/Nso.cs similarity index 100% rename from LibHac/Nso.cs rename to src/LibHac/Nso.cs diff --git a/LibHac/Package1.cs b/src/LibHac/Package1.cs similarity index 100% rename from LibHac/Package1.cs rename to src/LibHac/Package1.cs diff --git a/LibHac/Package2.cs b/src/LibHac/Package2.cs similarity index 100% rename from LibHac/Package2.cs rename to src/LibHac/Package2.cs diff --git a/LibHac/Pfs.cs b/src/LibHac/Pfs.cs similarity index 100% rename from LibHac/Pfs.cs rename to src/LibHac/Pfs.cs diff --git a/LibHac/Pfs0Builder.cs b/src/LibHac/Pfs0Builder.cs similarity index 100% rename from LibHac/Pfs0Builder.cs rename to src/LibHac/Pfs0Builder.cs diff --git a/LibHac/ProgressBar.cs b/src/LibHac/ProgressBar.cs similarity index 100% rename from LibHac/ProgressBar.cs rename to src/LibHac/ProgressBar.cs diff --git a/LibHac/Romfs.cs b/src/LibHac/Romfs.cs similarity index 100% rename from LibHac/Romfs.cs rename to src/LibHac/Romfs.cs diff --git a/LibHac/RomfsEntry.cs b/src/LibHac/RomfsEntry.cs similarity index 100% rename from LibHac/RomfsEntry.cs rename to src/LibHac/RomfsEntry.cs diff --git a/LibHac/SwitchFs.cs b/src/LibHac/SwitchFs.cs similarity index 100% rename from LibHac/SwitchFs.cs rename to src/LibHac/SwitchFs.cs diff --git a/LibHac/Ticket.cs b/src/LibHac/Ticket.cs similarity index 100% rename from LibHac/Ticket.cs rename to src/LibHac/Ticket.cs diff --git a/LibHac/Util.cs b/src/LibHac/Util.cs similarity index 100% rename from LibHac/Util.cs rename to src/LibHac/Util.cs diff --git a/LibHac/Xci.cs b/src/LibHac/Xci.cs similarity index 100% rename from LibHac/Xci.cs rename to src/LibHac/Xci.cs diff --git a/LibHac/XciHeader.cs b/src/LibHac/XciHeader.cs similarity index 100% rename from LibHac/XciHeader.cs rename to src/LibHac/XciHeader.cs diff --git a/NandReader/NandReader.csproj b/src/NandReader/NandReader.csproj similarity index 100% rename from NandReader/NandReader.csproj rename to src/NandReader/NandReader.csproj diff --git a/NandReader/Program.cs b/src/NandReader/Program.cs similarity index 100% rename from NandReader/Program.cs rename to src/NandReader/Program.cs diff --git a/NandReaderGui/App.config b/src/NandReaderGui/App.config similarity index 100% rename from NandReaderGui/App.config rename to src/NandReaderGui/App.config diff --git a/NandReaderGui/App.xaml b/src/NandReaderGui/App.xaml similarity index 100% rename from NandReaderGui/App.xaml rename to src/NandReaderGui/App.xaml diff --git a/NandReaderGui/App.xaml.cs b/src/NandReaderGui/App.xaml.cs similarity index 100% rename from NandReaderGui/App.xaml.cs rename to src/NandReaderGui/App.xaml.cs diff --git a/NandReaderGui/DeviceStream.cs b/src/NandReaderGui/DeviceStream.cs similarity index 100% rename from NandReaderGui/DeviceStream.cs rename to src/NandReaderGui/DeviceStream.cs diff --git a/NandReaderGui/FodyWeavers.xml b/src/NandReaderGui/FodyWeavers.xml similarity index 100% rename from NandReaderGui/FodyWeavers.xml rename to src/NandReaderGui/FodyWeavers.xml diff --git a/NandReaderGui/MainWindow.xaml b/src/NandReaderGui/MainWindow.xaml similarity index 100% rename from NandReaderGui/MainWindow.xaml rename to src/NandReaderGui/MainWindow.xaml diff --git a/NandReaderGui/MainWindow.xaml.cs b/src/NandReaderGui/MainWindow.xaml.cs similarity index 100% rename from NandReaderGui/MainWindow.xaml.cs rename to src/NandReaderGui/MainWindow.xaml.cs diff --git a/NandReaderGui/NandReaderGui.csproj b/src/NandReaderGui/NandReaderGui.csproj similarity index 100% rename from NandReaderGui/NandReaderGui.csproj rename to src/NandReaderGui/NandReaderGui.csproj diff --git a/NandReaderGui/Properties/AssemblyInfo.cs b/src/NandReaderGui/Properties/AssemblyInfo.cs similarity index 100% rename from NandReaderGui/Properties/AssemblyInfo.cs rename to src/NandReaderGui/Properties/AssemblyInfo.cs diff --git a/NandReaderGui/Properties/Resources.Designer.cs b/src/NandReaderGui/Properties/Resources.Designer.cs similarity index 100% rename from NandReaderGui/Properties/Resources.Designer.cs rename to src/NandReaderGui/Properties/Resources.Designer.cs diff --git a/NandReaderGui/Properties/Resources.resx b/src/NandReaderGui/Properties/Resources.resx similarity index 100% rename from NandReaderGui/Properties/Resources.resx rename to src/NandReaderGui/Properties/Resources.resx diff --git a/NandReaderGui/Properties/Settings.Designer.cs b/src/NandReaderGui/Properties/Settings.Designer.cs similarity index 100% rename from NandReaderGui/Properties/Settings.Designer.cs rename to src/NandReaderGui/Properties/Settings.Designer.cs diff --git a/NandReaderGui/Properties/Settings.settings b/src/NandReaderGui/Properties/Settings.settings similarity index 100% rename from NandReaderGui/Properties/Settings.settings rename to src/NandReaderGui/Properties/Settings.settings diff --git a/NandReaderGui/View/Nand.xaml b/src/NandReaderGui/View/Nand.xaml similarity index 100% rename from NandReaderGui/View/Nand.xaml rename to src/NandReaderGui/View/Nand.xaml diff --git a/NandReaderGui/View/Nand.xaml.cs b/src/NandReaderGui/View/Nand.xaml.cs similarity index 100% rename from NandReaderGui/View/Nand.xaml.cs rename to src/NandReaderGui/View/Nand.xaml.cs diff --git a/NandReaderGui/ViewModel/NandViewModel.cs b/src/NandReaderGui/ViewModel/NandViewModel.cs similarity index 100% rename from NandReaderGui/ViewModel/NandViewModel.cs rename to src/NandReaderGui/ViewModel/NandViewModel.cs diff --git a/NandReaderGui/ViewModel/ViewModelLocator.cs b/src/NandReaderGui/ViewModel/ViewModelLocator.cs similarity index 100% rename from NandReaderGui/ViewModel/ViewModelLocator.cs rename to src/NandReaderGui/ViewModel/ViewModelLocator.cs diff --git a/hactoolnet/CA00000003_XS00000020 b/src/hactoolnet/CA00000003_XS00000020 similarity index 100% rename from hactoolnet/CA00000003_XS00000020 rename to src/hactoolnet/CA00000003_XS00000020 diff --git a/hactoolnet/CliParser.cs b/src/hactoolnet/CliParser.cs similarity index 100% rename from hactoolnet/CliParser.cs rename to src/hactoolnet/CliParser.cs diff --git a/hactoolnet/Options.cs b/src/hactoolnet/Options.cs similarity index 100% rename from hactoolnet/Options.cs rename to src/hactoolnet/Options.cs diff --git a/hactoolnet/Print.cs b/src/hactoolnet/Print.cs similarity index 100% rename from hactoolnet/Print.cs rename to src/hactoolnet/Print.cs diff --git a/hactoolnet/ProcessBench.cs b/src/hactoolnet/ProcessBench.cs similarity index 100% rename from hactoolnet/ProcessBench.cs rename to src/hactoolnet/ProcessBench.cs diff --git a/hactoolnet/ProcessKip.cs b/src/hactoolnet/ProcessKip.cs similarity index 100% rename from hactoolnet/ProcessKip.cs rename to src/hactoolnet/ProcessKip.cs diff --git a/hactoolnet/ProcessNca.cs b/src/hactoolnet/ProcessNca.cs similarity index 100% rename from hactoolnet/ProcessNca.cs rename to src/hactoolnet/ProcessNca.cs diff --git a/hactoolnet/ProcessNsp.cs b/src/hactoolnet/ProcessNsp.cs similarity index 100% rename from hactoolnet/ProcessNsp.cs rename to src/hactoolnet/ProcessNsp.cs diff --git a/hactoolnet/ProcessPackage.cs b/src/hactoolnet/ProcessPackage.cs similarity index 100% rename from hactoolnet/ProcessPackage.cs rename to src/hactoolnet/ProcessPackage.cs diff --git a/hactoolnet/ProcessRomfs.cs b/src/hactoolnet/ProcessRomfs.cs similarity index 100% rename from hactoolnet/ProcessRomfs.cs rename to src/hactoolnet/ProcessRomfs.cs diff --git a/hactoolnet/ProcessSave.cs b/src/hactoolnet/ProcessSave.cs similarity index 100% rename from hactoolnet/ProcessSave.cs rename to src/hactoolnet/ProcessSave.cs diff --git a/hactoolnet/ProcessSwitchFs.cs b/src/hactoolnet/ProcessSwitchFs.cs similarity index 100% rename from hactoolnet/ProcessSwitchFs.cs rename to src/hactoolnet/ProcessSwitchFs.cs diff --git a/hactoolnet/ProcessXci.cs b/src/hactoolnet/ProcessXci.cs similarity index 100% rename from hactoolnet/ProcessXci.cs rename to src/hactoolnet/ProcessXci.cs diff --git a/hactoolnet/Program.cs b/src/hactoolnet/Program.cs similarity index 100% rename from hactoolnet/Program.cs rename to src/hactoolnet/Program.cs diff --git a/hactoolnet/hactoolnet.csproj b/src/hactoolnet/hactoolnet.csproj similarity index 100% rename from hactoolnet/hactoolnet.csproj rename to src/hactoolnet/hactoolnet.csproj diff --git a/LibHac.Tests/AesXts.cs b/tests/LibHac.Tests/AesXts.cs similarity index 100% rename from LibHac.Tests/AesXts.cs rename to tests/LibHac.Tests/AesXts.cs diff --git a/LibHac.Tests/LibHac.Tests.csproj b/tests/LibHac.Tests/LibHac.Tests.csproj similarity index 75% rename from LibHac.Tests/LibHac.Tests.csproj rename to tests/LibHac.Tests/LibHac.Tests.csproj index 40e396ca..74d1a8ce 100644 --- a/LibHac.Tests/LibHac.Tests.csproj +++ b/tests/LibHac.Tests/LibHac.Tests.csproj @@ -1,7 +1,7 @@  - netcoreapp2.1 + net46;netcoreapp2.1 false @@ -13,7 +13,7 @@ - +