aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/fs/archive.cpp
AgeCommit message (Collapse)Author
2017-10-12Remove lots more 3DS-specific code.bunnei
2017-09-30Fixed type conversion ambiguityHuw Pascoe
2017-09-25HLE/Archives: Allow multiple loaded applications to access their SelfNCCH ↵Subv
archive independently. The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session. When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc). 3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
2017-06-18ResultVal: Remove MoveFrom()Yuri Kunde Schlesner
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in case you already have an rvalue.
2017-06-06Service: Remove unnecessary includes from service.hYuri Kunde Schlesner
This has a huge fallout in terms of needing to fix other files because all service implementations included that file.
2017-06-06Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner
This allows attaching a HLE handle to a ServerPort at any point after it is created, allowing port/session creation to be generic between HLE and regular services.
2017-06-05HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner
Most of the code that works with this is or will be in the kernel, so it's a more appropriate place for it to be.
2017-06-02Addressed Bunnei's review comments, and made some other tweaks:TheKoopaKingdom
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System. - Fixed design flaw where the message bar status could be set despite the game being stopped.
2017-06-02Switched to the ERROR_NOT_FOUND constant from errors.h.TheKoopaKingdom
2017-06-02Made some changes from review comments:TheKoopaKingdom
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review). - Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore. - Made dialog messages more clear. - Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic. - Cleaned up some other stuff.
2017-05-24FS: Remove unused result definitionYuri Kunde Schlesner
2017-05-24FileSys: Move all result description to errors.hYuri Kunde Schlesner
2016-12-21core: Remove HLE module, consolidate code & various cleanups.bunnei
2016-12-16FS: fix debug build from #2249wwylele
2016-12-14Merge pull request #2249 from Subv/sessions_v3Yuri Kunde Schlesner
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14Fixed the codestyle to match our clang-format rules.Subv
2016-12-09Moved the HLE command buffer translation task to ServerSession instead of ↵Subv
the HLE handler superclass.
2016-12-08Added a framework for partially handling Session disconnections.Subv
Further implementation will happen in a future commit. Fixes a regression.
2016-12-05Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, ↵Subv
TranslateRequest and HandleSyncRequestImpl. HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-11-30Fixed the rebase mistakes.Subv
2016-11-30A bit of a redesign.Subv
Sessions and Ports are now detached from each other. HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class. The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested. File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 Kernel/IPC: Use Ports and Sessions as the fundamental building block of ↵Subv
Inter Process Communication. All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions. Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed. HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-29FileSys: Implement OtherSaveDatawwylele
2016-11-29FileSys: abstract SD save data archive sourcewwylele
2016-11-19FileSys: rename SaveDataCheck archive to NCCH archivewwylele
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19FileSys: add SDMCWriteOnlyArchivewwylele
2016-11-01FileSys: make Archive interfaces return error codewwylele
and make the mode parameter a reference since it is a BitField union
2016-10-02fs: implement DeleteDirectoryRecursivelywwylele
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-07-09Merge pull request #1894 from wwylele/set-config-blockYuri Kunde Schlesner
Implement config savegame editing & clean up
2016-07-05Fix the errorcode of archive handleJamePeng
2016-07-03Service::CFG/FS: add and refactor out utilities for front-endwwylele
2016-05-28Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types ↵Subv
in the memory block manipulation functions.
2016-05-28FS/Archive: Remove use of Memory::GetPointerMerryMage
2016-04-21HWRasterizer: Texture forwardingtfarley
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage
2016-03-20HLE/FS: Change the error code returned when an ExtSaveData archive is not found.Subv
This allows Fire Emblem to boot again.
2016-03-20HLE/FS: Corrected some style concerns.Subv
2016-03-20HLE/FS: Implemented GetFormatInfoSubv
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
2016-03-20HLE/FS: Don't return an error when deleting the ExtSaveData if it does not ↵Subv
exist.
2016-03-20HLE/FS: Return the proper error codes when opening files.Subv
2016-03-20HLE/FS: Fixed the OpenDirectory error codeSubv
2016-03-20HLE/FS: Return the proper error codes on file Read/Write operations.Subv
These operations are limited by the open flags specified while opening the file.
2016-03-20HLE/FS: Corrected the error codes for DeleteFileSubv
2016-03-20HLE/FS: FS::CreateFile takes an u64 for the file size.Subv
2015-10-27Implement FS_User::GetFreeBytesarchshift
2015-07-13Archive: Correct a few incorrect types in function signaturesYuri Kunde Schlesner
Buffer lengths should be size_t, and file offsets should be u64.