2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 23:07:42 +00:00

RetroDataSpec: Use override where applicable

Continues the override modernizations, applying the keyword where
applicable to the RetroDataSpec target.
This commit is contained in:
Lioncash
2019-08-09 22:32:48 -04:00
parent 1e625e0995
commit a5a2516138
101 changed files with 1230 additions and 1150 deletions

View File

@@ -196,7 +196,7 @@ struct TextureCache {
};
struct SpecMP1 : SpecBase {
bool checkStandaloneID(const char* id) const { return !memcmp(id, "GM8", 3); }
bool checkStandaloneID(const char* id) const override { return !memcmp(id, "GM8", 3); }
std::vector<const nod::Node*> m_nonPaks;
std::vector<DNAMP1::PAKBridge> m_paks;
@@ -212,7 +212,7 @@ struct SpecMP1 : SpecBase {
std::unordered_map<hecl::Hash, hecl::blender::Matrix4f> m_mreaPathToXF;
void setThreadProject() {
void setThreadProject() override {
SpecBase::setThreadProject();
UniqueIDBridge::SetIDRestorer(&m_idRestorer);
}
@@ -292,7 +292,7 @@ struct SpecMP1 : SpecBase {
}
bool checkFromStandaloneDisc(nod::DiscBase& disc, const hecl::SystemString& regstr,
const std::vector<hecl::SystemString>& args, std::vector<ExtractReport>& reps) {
const std::vector<hecl::SystemString>& args, std::vector<ExtractReport>& reps) override {
nod::IPartition* partition = disc.getDataPartition();
m_dolBuf = partition->getDOLBuf();
const char* buildInfo = (char*)memmem(m_dolBuf.get(), partition->getDOLSize(), "MetroidBuildInfo", 16) + 19;
@@ -319,7 +319,7 @@ struct SpecMP1 : SpecBase {
}
bool checkFromTrilogyDisc(nod::DiscBase& disc, const hecl::SystemString& regstr,
const std::vector<hecl::SystemString>& args, std::vector<ExtractReport>& reps) {
const std::vector<hecl::SystemString>& args, std::vector<ExtractReport>& reps) override {
std::vector<hecl::SystemString> mp1args;
bool doExtract = false;
if (args.size()) {
@@ -378,7 +378,7 @@ struct SpecMP1 : SpecBase {
return true;
}
bool extractFromDisc(nod::DiscBase& disc, bool force, const hecl::MultiProgressPrinter& progress) {
bool extractFromDisc(nod::DiscBase& disc, bool force, const hecl::MultiProgressPrinter& progress) override {
m_project.enableDataSpecs({_SYS_STR("MP1-PC")});
nod::ExtractionContext ctx = {force, nullptr};
@@ -459,17 +459,17 @@ struct SpecMP1 : SpecBase {
return true;
}
const hecl::Database::DataSpecEntry& getOriginalSpec() const { return SpecEntMP1; }
const hecl::Database::DataSpecEntry& getOriginalSpec() const override { return SpecEntMP1; }
const hecl::Database::DataSpecEntry& getUnmodifiedSpec() const { return SpecEntMP1ORIG; }
const hecl::Database::DataSpecEntry& getUnmodifiedSpec() const override { return SpecEntMP1ORIG; }
hecl::ProjectPath getWorking(class UniqueID32& id) { return m_pakRouter.getWorking(id); }
hecl::ProjectPath getWorking(class UniqueID32& id) override { return m_pakRouter.getWorking(id); }
bool checkPathPrefix(const hecl::ProjectPath& path) const {
bool checkPathPrefix(const hecl::ProjectPath& path) const override {
return path.getRelativePath().compare(0, 4, _SYS_STR("MP1/")) == 0;
}
bool validateYAMLDNAType(athena::io::IStreamReader& fp) const {
bool validateYAMLDNAType(athena::io::IStreamReader& fp) const override {
athena::io::YAMLDocReader reader;
yaml_parser_set_input(reader.getParser(), (yaml_read_handler_t*)athena::io::YAMLAthenaReader, &fp);
return reader.ClassTypeOperation([](const char* classType) {
@@ -543,7 +543,7 @@ struct SpecMP1 : SpecBase {
});
}
urde::SObjectTag buildTagFromPath(const hecl::ProjectPath& path) const {
urde::SObjectTag buildTagFromPath(const hecl::ProjectPath& path) const override {
if (hecl::StringUtils::EndsWith(path.getAuxInfo(), _SYS_STR(".CINF")))
return {SBIG('CINF'), path.hash().val32()};
else if (hecl::StringUtils::EndsWith(path.getAuxInfo(), _SYS_STR(".CSKR")))
@@ -708,7 +708,7 @@ struct SpecMP1 : SpecBase {
return {};
}
void getTagListForFile(const char* pakName, std::vector<urde::SObjectTag>& out) const {
void getTagListForFile(const char* pakName, std::vector<urde::SObjectTag>& out) const override {
std::string pathPrefix("MP1/");
pathPrefix += pakName;
pathPrefix += '/';
@@ -720,7 +720,7 @@ struct SpecMP1 : SpecBase {
}
void cookMesh(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds, bool fast,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
Mesh mesh = ds.compileMesh(fast ? hecl::HMDLTopology::Triangles : hecl::HMDLTopology::TriStrips, m_pc ? 16 : -1);
if (m_pc)
@@ -730,21 +730,21 @@ struct SpecMP1 : SpecBase {
}
void cookColMesh(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds, bool fast,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
std::vector<ColMesh> mesh = ds.compileColMeshes();
ds.close();
DNAMP1::DCLN::Cook(out, mesh);
}
void cookPathMesh(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds, bool fast,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
PathMesh mesh = ds.compilePathMesh();
ds.close();
DNAMP1::PATH::Cook(out, in, mesh, btok);
}
void cookActor(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds, bool fast,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
if (hecl::StringUtils::EndsWith(in.getAuxInfo(), _SYS_STR(".CINF"))) {
Actor actor = ds.compileActorCharacterOnly();
DNAMP1::ANCS::CookCINF(out, in, actor);
@@ -796,7 +796,7 @@ struct SpecMP1 : SpecBase {
}
void cookArea(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds, bool fast,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
std::vector<std::string> meshes = ds.getMeshList();
std::vector<Mesh> meshCompiles;
meshCompiles.reserve(meshes.size());
@@ -832,7 +832,7 @@ struct SpecMP1 : SpecBase {
}
void cookWorld(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds, bool fast,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
if (hecl::StringUtils::EndsWith(in.getAuxInfo(), _SYS_STR("MAPW"))) {
hecl::blender::World world = ds.compileWorld();
ds.close();
@@ -849,7 +849,7 @@ struct SpecMP1 : SpecBase {
}
void cookGuiFrame(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
auto data = ds.compileGuiFrame(0);
athena::io::MemoryReader r(data.data(), data.size());
DNAMP1::FRME frme;
@@ -859,7 +859,7 @@ struct SpecMP1 : SpecBase {
}
void cookYAML(const hecl::ProjectPath& out, const hecl::ProjectPath& in, athena::io::IStreamReader& fin,
FCookProgress progress) {
FCookProgress progress) override {
athena::io::YAMLDocReader reader;
if (reader.parse(&fin)) {
std::string classStr = reader.readString("DNAType");
@@ -992,7 +992,7 @@ struct SpecMP1 : SpecBase {
progress(_SYS_STR("Done"));
}
void flattenDependenciesYAML(athena::io::IStreamReader& fin, std::vector<hecl::ProjectPath>& pathsOut) {
void flattenDependenciesYAML(athena::io::IStreamReader& fin, std::vector<hecl::ProjectPath>& pathsOut) override {
athena::io::YAMLDocReader reader;
if (reader.parse(&fin)) {
std::string classStr = reader.readString("DNAType");
@@ -1045,7 +1045,7 @@ struct SpecMP1 : SpecBase {
}
void flattenDependenciesANCSYAML(athena::io::IStreamReader& fin, std::vector<hecl::ProjectPath>& pathsOut,
int charIdx) {
int charIdx) override {
athena::io::YAMLDocReader reader;
if (reader.parse(&fin)) {
std::string classStr = reader.readString("DNAType");
@@ -1073,7 +1073,8 @@ struct SpecMP1 : SpecBase {
void buildWorldPakList(const hecl::ProjectPath& worldPath, const hecl::ProjectPath& worldPathCooked,
hecl::blender::Token& btok, athena::io::FileWriter& w, std::vector<urde::SObjectTag>& listOut,
atUint64& resTableOffset, std::unordered_map<urde::CAssetId, std::vector<uint8_t>>& mlvlData) {
atUint64& resTableOffset,
std::unordered_map<urde::CAssetId, std::vector<uint8_t>>& mlvlData) override {
DNAMP1::MLVL mlvl;
{
athena::io::FileReader r(worldPathCooked.getAbsolutePath());
@@ -1231,7 +1232,7 @@ struct SpecMP1 : SpecBase {
}
void buildPakList(hecl::blender::Token& btok, athena::io::FileWriter& w, const std::vector<urde::SObjectTag>& list,
const std::vector<std::pair<urde::SObjectTag, std::string>>& nameList, atUint64& resTableOffset) {
const std::vector<std::pair<urde::SObjectTag, std::string>>& nameList, atUint64& resTableOffset) override {
w.writeUint32Big(m_pc ? 0x80030005 : 0x00030005);
w.writeUint32Big(0);
@@ -1259,7 +1260,7 @@ struct SpecMP1 : SpecBase {
}
void writePakFileIndex(athena::io::FileWriter& w, const std::vector<urde::SObjectTag>& tags,
const std::vector<std::tuple<size_t, size_t, bool>>& index, atUint64 resTableOffset) {
const std::vector<std::tuple<size_t, size_t, bool>>& index, atUint64 resTableOffset) override {
w.seek(resTableOffset, athena::Begin);
auto it = tags.begin();
@@ -1276,7 +1277,7 @@ struct SpecMP1 : SpecBase {
}
std::pair<std::unique_ptr<uint8_t[]>, size_t> compressPakData(const urde::SObjectTag& tag, const uint8_t* data,
size_t len) {
size_t len) override {
bool doCompress = false;
switch (tag.type.toUint32()) {
case SBIG('TXTR'):
@@ -1309,18 +1310,18 @@ struct SpecMP1 : SpecBase {
return ret;
};
void cookAudioGroup(const hecl::ProjectPath& out, const hecl::ProjectPath& in, FCookProgress progress) {
void cookAudioGroup(const hecl::ProjectPath& out, const hecl::ProjectPath& in, FCookProgress progress) override {
DNAMP1::AGSC::Cook(in, out);
progress(_SYS_STR("Done"));
}
void cookSong(const hecl::ProjectPath& out, const hecl::ProjectPath& in, FCookProgress progress) {
void cookSong(const hecl::ProjectPath& out, const hecl::ProjectPath& in, FCookProgress progress) override {
DNAMP1::CSNG::Cook(in, out);
progress(_SYS_STR("Done"));
}
void cookMapArea(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
hecl::blender::MapArea mapa = ds.compileMapArea();
ds.close();
DNAMP1::MAPA::Cook(mapa, out);
@@ -1328,7 +1329,7 @@ struct SpecMP1 : SpecBase {
}
void cookMapUniverse(const hecl::ProjectPath& out, const hecl::ProjectPath& in, BlendStream& ds,
hecl::blender::Token& btok, FCookProgress progress) {
hecl::blender::Token& btok, FCookProgress progress) override {
hecl::blender::MapUniverse mapu = ds.compileMapUniverse();
ds.close();
DNAMAPU::MAPU::Cook(mapu, out);