Пример #1
0
        public long LoadSaveDataFileSystem(ServiceCtx context)
        {
            SaveSpaceId saveSpaceId = (SaveSpaceId)context.RequestData.ReadInt64();

            long titleId = context.RequestData.ReadInt64();

            UInt128 userId = context.RequestData.ReadStruct <UInt128>();

            long         saveId       = context.RequestData.ReadInt64();
            SaveDataType saveDataType = (SaveDataType)context.RequestData.ReadByte();
            SaveInfo     saveInfo     = new SaveInfo(titleId, saveId, saveDataType, userId, saveSpaceId);
            string       savePath     = context.Device.FileSystem.GetGameSavePath(saveInfo, context);

            try
            {
                LocalFileSystem             fileSystem     = new LocalFileSystem(savePath);
                DirectorySaveDataFileSystem saveFileSystem = new DirectorySaveDataFileSystem(fileSystem);

                MakeObject(context, new IFileSystem(saveFileSystem));
            }
            catch (HorizonResultException ex)
            {
                return(ex.ResultValue.Value);
            }

            return(0);
        }
Пример #2
0
        public static ResultCode LoadSaveDataFileSystem(ServiceCtx context, bool readOnly, out IFileSystem loadedFileSystem)
        {
            loadedFileSystem = null;

            SaveSpaceId  saveSpaceId  = (SaveSpaceId)context.RequestData.ReadInt64();
            ulong        titleId      = context.RequestData.ReadUInt64();
            UInt128      userId       = context.RequestData.ReadStruct <UInt128>();
            long         saveId       = context.RequestData.ReadInt64();
            SaveDataType saveDataType = (SaveDataType)context.RequestData.ReadByte();
            SaveInfo     saveInfo     = new SaveInfo(titleId, saveId, saveDataType, saveSpaceId, userId);
            string       savePath     = context.Device.FileSystem.GetSavePath(context, saveInfo);

            try
            {
                LocalFileSystem       fileSystem     = new LocalFileSystem(savePath);
                LibHac.Fs.IFileSystem saveFileSystem = new DirectorySaveDataFileSystem(fileSystem);

                if (readOnly)
                {
                    saveFileSystem = new ReadOnlyFileSystem(saveFileSystem);
                }

                loadedFileSystem = new IFileSystem(saveFileSystem);
            }
            catch (HorizonResultException ex)
            {
                return((ResultCode)ex.ResultValue.Value);
            }

            return(ResultCode.Success);
        }
Пример #3
0
 public SaveInfo(
     long TitleId,
     long SaveId,
     SaveDataType SaveDataType,
     UserId UserId,
     SaveSpaceId SaveSpaceId)
 {
     this.TitleId      = TitleId;
     this.UserId       = UserId;
     this.SaveId       = SaveId;
     this.SaveDataType = SaveDataType;
     this.SaveSpaceId  = SaveSpaceId;
 }
Пример #4
0
 public SaveInfo(
     long titleId,
     long saveId,
     SaveDataType saveDataType,
     UInt128 userId,
     SaveSpaceId saveSpaceId)
 {
     TitleId      = titleId;
     UserId       = userId;
     SaveId       = saveId;
     SaveDataType = saveDataType;
     SaveSpaceId  = saveSpaceId;
 }
Пример #5
0
 public SaveInfo(
     ulong titleId,
     long saveId,
     SaveDataType saveDataType,
     SaveSpaceId saveSpaceId,
     UserId userId = new UserId())
 {
     TitleId      = titleId;
     SaveId       = saveId;
     SaveDataType = saveDataType;
     SaveSpaceId  = saveSpaceId;
     UserId       = userId;
 }
Пример #6
0
        public void LoadSaveDataFileSystem(ServiceCtx Context)
        {
            SaveSpaceId SaveSpaceId = (SaveSpaceId)Context.RequestData.ReadInt64();

            long TitleId = Context.RequestData.ReadInt64();

            UserId UserId = new UserId(
                Context.RequestData.ReadInt64(),
                Context.RequestData.ReadInt64());

            long SaveId = Context.RequestData.ReadInt64();

            SaveDataType SaveDataType = (SaveDataType)Context.RequestData.ReadByte();

            SaveInfo SaveInfo = new SaveInfo(TitleId, SaveId, SaveDataType, UserId, SaveSpaceId);

            MakeObject(Context, new IFileSystem(Context.Device.FileSystem.GetGameSavePath(SaveInfo, Context)));
        }
Пример #7
0
        public void LoadSaveDataFileSystem(ServiceCtx context)
        {
            SaveSpaceId saveSpaceId = (SaveSpaceId)context.RequestData.ReadInt64();

            long titleId = context.RequestData.ReadInt64();

            UInt128 userId = new UInt128(
                context.RequestData.ReadInt64(),
                context.RequestData.ReadInt64());

            long               saveId             = context.RequestData.ReadInt64();
            SaveDataType       saveDataType       = (SaveDataType)context.RequestData.ReadByte();
            SaveInfo           saveInfo           = new SaveInfo(titleId, saveId, saveDataType, userId, saveSpaceId);
            string             savePath           = context.Device.FileSystem.GetGameSavePath(saveInfo, context);
            FileSystemProvider fileSystemProvider = new FileSystemProvider(savePath, context.Device.FileSystem.GetBasePath());

            MakeObject(context, new IFileSystem(savePath, fileSystemProvider));
        }
Пример #8
0
        public void LoadSaveDataFileSystem(ServiceCtx Context)
        {
            SaveSpaceId SaveSpaceId = (SaveSpaceId)Context.RequestData.ReadInt64();

            long TitleId = Context.RequestData.ReadInt64();

            UInt128 UserId = new UInt128(
                Context.RequestData.ReadInt64(),
                Context.RequestData.ReadInt64());

            long               SaveId             = Context.RequestData.ReadInt64();
            SaveDataType       SaveDataType       = (SaveDataType)Context.RequestData.ReadByte();
            SaveInfo           SaveInfo           = new SaveInfo(TitleId, SaveId, SaveDataType, UserId, SaveSpaceId);
            string             SavePath           = Context.Device.FileSystem.GetGameSavePath(SaveInfo, Context);
            FileSystemProvider FileSystemProvider = new FileSystemProvider(SavePath, Context.Device.FileSystem.GetBasePath());

            MakeObject(Context, new IFileSystem(SavePath, FileSystemProvider));
        }
Пример #9
0
        public void LoadSaveDataFileSystem(ServiceCtx context)
        {
            SaveSpaceId saveSpaceId = (SaveSpaceId)context.RequestData.ReadInt64();

            long titleId = context.RequestData.ReadInt64();

            UInt128 userId = new UInt128(
                context.RequestData.ReadInt64(),
                context.RequestData.ReadInt64());

            long            saveId       = context.RequestData.ReadInt64();
            SaveDataType    saveDataType = (SaveDataType)context.RequestData.ReadByte();
            SaveInfo        saveInfo     = new SaveInfo(titleId, saveId, saveDataType, userId, saveSpaceId);
            string          savePath     = context.Device.FileSystem.GetGameSavePath(saveInfo, context);
            LocalFileSystem fileSystem   = new LocalFileSystem(savePath);

            DirectorySaveDataFileSystem saveFileSystem = new DirectorySaveDataFileSystem(fileSystem);

            MakeObject(context, new IFileSystem(saveFileSystem));
        }