Exemplo n.º 1
0
        public async UniTask <uint> LoadFile(Context context, string path, uint baseAddress = 0)
        {
            await FileSystem.PrepareFile(context.BasePath + path);

            if (!FileSystem.FileExists(context.BasePath + path))
            {
                return(0);
            }
            if (baseAddress != 0)
            {
                PS1MemoryMappedFile file = new PS1MemoryMappedFile(context, baseAddress, InvalidPointerMode)
                {
                    filePath   = path,
                    Endianness = BinaryFile.Endian.Big
                };
                context.AddFile(file);

                return(file.Length);
            }
            else
            {
                LinearSerializedFile file = new LinearSerializedFile(context)
                {
                    filePath   = path,
                    Endianness = BinaryFile.Endian.Big
                };
                context.AddFile(file);
                return(0);
            }
        }
Exemplo n.º 2
0
        public async UniTask <uint> LoadFile(Context context, string path, uint baseAddress)
        {
            await FileSystem.PrepareFile(context.BasePath + path);

            if (baseAddress != 0)
            {
                PS1MemoryMappedFile file = new PS1MemoryMappedFile(context, baseAddress, InvalidPointerMode)
                {
                    filePath = path,
                    Length   = FileSizes[path]
                };
                context.AddFile(file);

                return(FileSizes[path]);
            }
            else
            {
                LinearSerializedFile file = new LinearSerializedFile(context)
                {
                    filePath = path,
                    length   = FileSizes.ContainsKey(path) ? FileSizes[path] : 0
                };
                context.AddFile(file);
                return(0);
            }
        }