Made some changes from review comments:

- 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.
This commit is contained in:
TheKoopaKingdom 2017-03-08 20:21:31 -05:00
parent 1ecb322daa
commit 37bec598ea
10 changed files with 55 additions and 53 deletions

View file

@ -8,8 +8,11 @@
#include <initializer_list>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include <boost/optional.hpp>
#include "common/common_types.h"
#include "common/file_util.h"
@ -100,13 +103,11 @@ public:
* Loads the system mode that this application needs.
* This function defaults to 2 (96MB allocated to the application) if it can't read the
* information.
* @param boost::optional<u32> Reference to Boost optional to store system mode.
* @ return Result of operation.
* @return A pair with the system mode (If found) and the result.
*/
virtual ResultStatus LoadKernelSystemMode(boost::optional<u32>& system_mode) {
virtual std::pair<boost::optional<u32>, ResultStatus> LoadKernelSystemMode() {
// 96MB allocated to the application.
system_mode = 2;
return ResultStatus::Success;
return std::make_pair(2, ResultStatus::Success);
}
/**

View file

@ -121,19 +121,16 @@ FileType AppLoader_NCCH::IdentifyType(FileUtil::IOFile& file) {
return FileType::Error;
}
ResultStatus AppLoader_NCCH::LoadKernelSystemMode(boost::optional<u32>& system_mode) {
std::pair<boost::optional<u32>, ResultStatus> AppLoader_NCCH::LoadKernelSystemMode() {
if (!is_loaded) {
ResultStatus res = LoadExeFS();
if (res != ResultStatus::Success) {
// Set the system mode as invalid.
system_mode = boost::none;
// Return the error code.
return res;
return std::make_pair(boost::none, res);
}
}
// Set the system mode as the one from the exheader.
system_mode = exheader_header.arm11_system_local_caps.system_mode.Value();
return ResultStatus::Success;
return std::make_pair(exheader_header.arm11_system_local_caps.system_mode.Value(),
ResultStatus::Success);
}
ResultStatus AppLoader_NCCH::LoadExec() {

View file

@ -179,10 +179,9 @@ public:
/**
* Loads the Exheader and returns the system mode for this application.
* @param boost::optional<u32> Reference to Boost optional to store system mode.
* @return Result of operation.
* @return A pair with the system mode (If found) and the result.
*/
ResultStatus LoadKernelSystemMode(boost::optional<u32>& system_mode) override;
std::pair<boost::optional<u32>, ResultStatus> LoadKernelSystemMode() override;
ResultStatus ReadCode(std::vector<u8>& buffer) override;