Torch Static Compile (#187)

* Fix freecam rotation smoothing

* Configure freecam controller

* Fix cont z button and impl freecam on/off events

* Add torch static comp

* Fixed cmake

* Copied yamls

---------

Co-authored-by: KiritoDv <kiritodev01@gmail.com>
This commit is contained in:
MegaMech
2025-02-07 22:24:00 -07:00
committed by GitHub
parent 7fe7052270
commit 008d527ed5
5 changed files with 2016 additions and 104 deletions
+56
View File
@@ -0,0 +1,56 @@
#include "GameExtractor.h"
#include <unordered_map>
#include <fstream>
#include "Context.h"
#include "spdlog/spdlog.h"
#include "portable-file-dialogs.h"
#include <port/Engine.h>
std::unordered_map<std::string, std::string> mGameList = {
{ "579c48e211ae952530ffc8738709f078d5dd215e", "Mario Kart 64 (US)" },
};
bool GameExtractor::SelectGameFromUI() {
#if !defined(__IOS__) || !defined(__ANDROID__) || !defined(__SWITCH__)
auto selection = pfd::open_file("Select a file", ".", { "N64 Roms", "*.z64" }).result();
if (selection.empty()) {
return false;
}
this->mGamePath = selection[0];
#else
this->mGamePath = Ship::Context::GetPathRelativeToAppDirectory("baserom.us.z64");
#endif
std::ifstream file(this->mGamePath, std::ios::binary);
this->mGameData = std::vector<uint8_t>( std::istreambuf_iterator( file ), {} );
file.close();
return true;
}
std::optional<std::string> GameExtractor::ValidateChecksum() const {
const auto rom = new N64::Cartridge(this->mGameData);
rom->Initialize();
auto hash = rom->GetHash();
if (mGameList.find(hash) == mGameList.end()) {
return std::nullopt;
}
return mGameList[hash];
}
bool GameExtractor::GenerateOTR() const {
Companion::Instance = new Companion(this->mGameData, ArchiveType::O2R, false);
try {
Companion::Instance->Init(ExportType::Binary);
} catch (const std::exception& e) {
return false;
}
return true;
}
+17
View File
@@ -0,0 +1,17 @@
#pragma once
#include "Companion.h"
#include <filesystem>
#include <vector>
#include <cstdint>
class GameExtractor {
public:
static bool GenAssetFile();
std::optional<std::string> ValidateChecksum() const;
bool SelectGameFromUI();
bool GenerateOTR() const;
private:
fs::path mGamePath;
std::vector<uint8_t> mGameData;
};