summaryrefslogtreecommitdiff
path: root/src/Companion.cpp
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-09-18 18:46:26 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-09-18 18:46:26 -0600
commit820ccb1996e1bd5fd52bc95608f05075a2a534b0 (patch)
treee9bc4443b23f42cdcaa78b15036097d56071d937 /src/Companion.cpp
parent16374cd98fe49163520d211bff04d6302a63d4f8 (diff)
Added multiversion support - SM64:JP
Diffstat (limited to 'src/Companion.cpp')
-rw-r--r--src/Companion.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/Companion.cpp b/src/Companion.cpp
index 82f3a3b..c8ae0d5 100644
--- a/src/Companion.cpp
+++ b/src/Companion.cpp
@@ -2,7 +2,6 @@
#include "storm/SWrapper.h"
#include "utils/MIODecoder.h"
-#include "audio/AudioManager.h"
#include "factories/RawFactory.h"
#include "factories/BlobFactory.h"
#include "factories/AudioHeaderFactory.h"
@@ -11,7 +10,6 @@
#include "factories/BankFactory.h"
#include "factories/TextureFactory.h"
#include "factories/AnimFactory.h"
-#include "n64/Cartridge.h"
#include <fstream>
#include <iostream>
@@ -41,17 +39,17 @@ void Companion::Process() {
this->gRomData = std::vector<uint8_t>( std::istreambuf_iterator<char>( input ), {} );
input.close();
- N64::Cartridge cartridge = N64::Cartridge(this->gRomData);
- cartridge.Initialize();
+ this->cartridge = new N64::Cartridge(this->gRomData);
+ cartridge->Initialize();
YAML::Node config = YAML::LoadFile("config.yml");
- if(!config[cartridge.GetHash()]){
- std::cout << "No config found for " << cartridge.GetHash() << '\n';
+ if(!config[cartridge->GetHash()]){
+ std::cout << "No config found for " << cartridge->GetHash() << '\n';
return;
}
- auto cfg = config[cartridge.GetHash()];
+ auto cfg = config[cartridge->GetHash()];
auto path = cfg["path"].as<std::string>();
auto otr = cfg["output"].as<std::string>();
@@ -60,7 +58,7 @@ void Companion::Process() {
auto vWriter = LUS::BinaryWriter();
vWriter.SetEndianness(LUS::Endianness::Big);
vWriter.Write((uint8_t) LUS::Endianness::Big);
- vWriter.Write(cartridge.GetCRC());
+ vWriter.Write(cartridge->GetCRC());
for (const auto & entry : fs::directory_iterator(path)){
std::cout << "Processing " << entry.path() << '\n';
@@ -101,6 +99,8 @@ void Companion::Process() {
MIO0Decoder::ClearCache();
wrapper.Close();
+ this->cartridge = nullptr;
+ Companion::Instance = nullptr;
}
void Companion::RegisterFactory(const std::string &extension, RawFactory *factory) {