summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-09-24 15:59:09 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-09-24 15:59:09 -0600
commita4f96f6cabf98da6987ed6e32e6bbcd88f587400 (patch)
tree56d9fb573d05d1451d4976d37e2c81c88fa76caa /src
parentbc291abe508aa887543350a2db8883930778aafd (diff)
Added flag to work as a library
Diffstat (limited to 'src')
-rw-r--r--src/Companion.cpp1
-rw-r--r--src/factories/BankFactory.cpp3
-rw-r--r--src/factories/RawFactory.h9
-rw-r--r--src/main.cpp4
4 files changed, 14 insertions, 3 deletions
diff --git a/src/Companion.cpp b/src/Companion.cpp
index 2528ce9..41d5a65 100644
--- a/src/Companion.cpp
+++ b/src/Companion.cpp
@@ -97,6 +97,7 @@ void Companion::Process() {
LUS::BinaryWriter write = LUS::BinaryWriter();
RawFactory* factory = this->GetFactory(type);
+ factory->SetCartridge(cartridge);
spdlog::set_pattern(regular);
SPDLOG_INFO("------------------------------------------------");
diff --git a/src/factories/BankFactory.cpp b/src/factories/BankFactory.cpp
index f247c3d..d388c22 100644
--- a/src/factories/BankFactory.cpp
+++ b/src/factories/BankFactory.cpp
@@ -4,14 +4,13 @@
#include "audio/AudioManager.h"
#include "audio/samples_table.h"
#include "binarytools/BinaryReader.h"
-#include "Companion.h"
bool BankFactory::process(LUS::BinaryWriter* writer, YAML::Node& data, std::vector<uint8_t>& buffer) {
auto banks = AudioManager::Instance->get_banks();
auto bankId = data["id"].as<uint32_t>();
auto bank = banks[bankId];
- auto gSampleTable = Companion::Instance->GetCartridge()->GetCountry() == N64::CountryCode::Japan ? gJPSampleTable : gUSSampleTable;
+ auto gSampleTable = this->GetCartridge()->GetCountry() == N64::CountryCode::Japan ? gJPSampleTable : gUSSampleTable;
WRITE_HEADER(LUS::ResourceType::Bank, 0);
diff --git a/src/factories/RawFactory.h b/src/factories/RawFactory.h
index 9a23d71..89f35df 100644
--- a/src/factories/RawFactory.h
+++ b/src/factories/RawFactory.h
@@ -1,6 +1,7 @@
#pragma once
#include "ResourceType.h"
+#include "n64/Cartridge.h"
#include <string>
#include <vector>
#include <filesystem>
@@ -27,4 +28,12 @@ public:
RawFactory() = default;
virtual bool process(LUS::BinaryWriter* write, YAML::Node& data, std::vector<uint8_t>& buffer) = 0;
void WriteHeader(LUS::BinaryWriter* write, LUS::ResourceType resType, int32_t version);
+ inline void SetCartridge(N64::Cartridge* cart) {
+ this->cartdrige = cart;
+ }
+ inline N64::Cartridge* GetCartridge() {
+ return this->cartdrige;
+ }
+private:
+ N64::Cartridge* cartdrige;
}; \ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
index ab1f8d3..3149b66 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2,6 +2,7 @@
#include "CLI11.hpp"
#include "Companion.h"
+#ifdef STANDALONE
Companion* Companion::Instance;
int main(int argc, char *argv[]) {
@@ -19,4 +20,5 @@ int main(int argc, char *argv[]) {
Companion::Instance = new Companion(filename);
Companion::Instance->Init();
return 0;
-} \ No newline at end of file
+}
+#endif \ No newline at end of file