Skip to content

Commit a883114

Browse files
committed
Downgrade back to 17, we don't need std::atomic_ref
1 parent aeb3a52 commit a883114

File tree

6 files changed

+26
-36
lines changed

6 files changed

+26
-36
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.12)
22
project(torch)
33
include(FetchContent)
44

5-
set(CMAKE_CXX_STANDARD 20)
5+
set(CMAKE_CXX_STANDARD 17)
66
set(CMAKE_CXX_STANDARD_REQUIRED ON)
77
set(CMAKE_CXX_EXTENSIONS OFF)
88
set(CMAKE_C_STANDARD 11)

src/Companion.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,12 @@ static std::string GetTypeNode(YAML::Node& node) {
130130
Companion* Companion::Instance;
131131

132132
void Companion::Init(const ExportType type) {
133-
size_t assetCount = 0;
134-
Init(type, std::atomic_ref<size_t>(assetCount));
133+
std::atomic<size_t> assetCount{0};
134+
135+
Init(type, assetCount);
135136
}
136137

137-
void Companion::Init(const ExportType type, std::atomic_ref<size_t> assetCount) {
138+
void Companion::Init(const ExportType type, std::atomic<size_t>& assetCount) {
138139

139140
spdlog::set_level(spdlog::level::debug);
140141
spdlog::set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%l] %v");
@@ -361,7 +362,7 @@ void Companion::ParseModdingConfig() {
361362
}
362363

363364

364-
void Companion::ParseCurrentFileConfig(YAML::Node node, std::atomic_ref<size_t> assetCount) {
365+
void Companion::ParseCurrentFileConfig(YAML::Node node, std::atomic<size_t>& assetCount) {
365366
if (node["external_files"]) {
366367
auto externalFiles = node["external_files"];
367368
if (externalFiles.IsSequence() && externalFiles.size()) {
@@ -617,11 +618,11 @@ void Companion::ProcessTables(YAML::Node& rom) {
617618
}
618619

619620
void Companion::ProcessFile(YAML::Node root) {
620-
size_t assetCount = 0;
621-
ProcessFile(root, std::atomic_ref<size_t>(assetCount));
621+
std::atomic<size_t> assetCount {0};
622+
ProcessFile(root, assetCount);
622623
}
623624

624-
void Companion::ProcessFile(YAML::Node root, std::atomic_ref<size_t> assetCount) {
625+
void Companion::ProcessFile(YAML::Node root, std::atomic<size_t>& assetCount) {
625626
assetCount++;
626627
// Set compressed file offsets and compression type
627628
if (auto segments = root[":config"]["segments"]) {
@@ -1031,7 +1032,7 @@ void Companion::ProcessFile(YAML::Node root, std::atomic_ref<size_t> assetCount)
10311032
}
10321033
}
10331034

1034-
void Companion::Process(std::atomic_ref<size_t> assetCount) {
1035+
void Companion::Process(std::atomic<size_t>& assetCount) {
10351036
auto configPath = this->gSourceDirectory / "config.yml";
10361037

10371038
if(!fs::exists(configPath)) {

src/Companion.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,11 @@ class Companion {
140140
Companion(rom, otr, debug, false, srcDir, destPath) {}
141141

142142
void Init(ExportType type);
143-
void Init(ExportType type, std::atomic_ref<size_t> assetCount);
143+
void Init(ExportType type, std::atomic<size_t>& assetCount);
144144

145145
bool NodeHasChanges(const std::string& string);
146146

147-
void Process(std::atomic_ref<size_t> assetCount);
147+
void Process(std::atomic<size_t>& assetCount);
148148

149149
bool IsOTRMode() const { return (this->gConfig.otrMode != ArchiveType::None); }
150150
bool IsDebug() const { return this->gConfig.debug; }
@@ -244,11 +244,11 @@ class Companion {
244244
std::unordered_map<std::string, std::unordered_map<uint32_t, std::tuple<std::string, YAML::Node>>> gAddrMap;
245245

246246
void ProcessFile(YAML::Node root);
247-
void ProcessFile(YAML::Node root, std::atomic_ref<size_t> assetCount);
247+
void ProcessFile(YAML::Node root, std::atomic<size_t>& assetCount);
248248
void ParseEnums(std::string& file);
249249
void ParseHash();
250250
void ParseModdingConfig();
251-
void ParseCurrentFileConfig(YAML::Node node, std::atomic_ref<size_t> assetCount);
251+
void ParseCurrentFileConfig(YAML::Node node, std::atomic<size_t>& assetCount);
252252
void RegisterFactory(const std::string& type, const std::shared_ptr<BaseFactory>& factory);
253253
void ExtractNode(YAML::Node& node, std::string& name, BinaryWrapper* binary);
254254
void ProcessTables(YAML::Node& rom);

src/factories/naudio/v0/SampleFactory.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class SampleFactory : public BaseFactory {
2626
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
2727
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
2828
return {
29-
REGISTER(Modding, SampleModdingExporter)
29+
// REGISTER(Modding, SampleModdingExporter)
3030
REGISTER(Binary, SampleBinaryExporter)
3131
};
3232
}

src/factories/sm64/MacroFactory.cpp

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,17 @@ ExportResult SM64::MacroCodeExporter::Export(std::ostream &write, std::shared_pt
2222
const auto symbol = GetSafeNode(node, "symbol", entryName);
2323
const auto offset = GetSafeNode<uint32_t>(node, "offset");
2424

25-
auto macro = std::static_pointer_cast<SM64::MacroData>(raw);
25+
auto macro = std::static_pointer_cast<SM64::MacroDataAlt>(raw);
2626

2727
write << "const MacroObject " << symbol << "[] = {\n";
2828

29-
for (auto &object : macro->mMacroData) {
30-
write << fourSpaceTab;
31-
32-
if (object.behParam == 0) {
33-
write << "MACRO_OBJECT(";
34-
} else {
35-
write << "MACRO_OBJECT_WITH_BEH_PARAM(";
36-
}
37-
38-
write << object.preset << ", ";
39-
write << (object.yaw / 1.41) << ", ";
40-
write << object.posX << ", ";
41-
write << object.posY << ", ";
42-
write << object.posZ;
43-
44-
if (object.behParam != 0) {
45-
write << ", " << object.behParam;
46-
}
29+
for (size_t i = 0; i < macro->mMacroData.size() - 1; i += 5) {
30+
write << fourSpaceTab << (macro->mMacroData[i + 5] == 0 ? "MACRO_OBJECT(" : "MACRO_OBJECT_WITH_BEH_PARAM(");
31+
write << "/* preset */ " << static_cast<MacroPresets>(macro->mMacroData[i]) << ", ";
32+
write << "/* yaw */ " << macro->mMacroData[i + 1] << ", ";
33+
write << "/* posX */ " << macro->mMacroData[i + 2] << ", ";
34+
write << "/* posY */ " << macro->mMacroData[i + 3] << ", ";
35+
write << "/* posZ */ " << macro->mMacroData[i + 4];
4736
write << "),\n";
4837
}
4938

src/factories/sm64/MacroFactory.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ class MacroData : public IParsedData {
2020
public:
2121
std::vector<MacroObject> mMacroData;
2222

23-
MacroData(std::vector<MacroObject> macroData) : mMacroData(std::move(macroData)) {}
23+
MacroData(std::vector<MacroObject> macroData) : mMacroData(macroData) {}
2424
};
2525

2626
class MacroDataAlt : public IParsedData {
2727
public:
2828
std::vector<int16_t> mMacroData;
2929

30-
MacroDataAlt(std::vector<int16_t> macroData) : mMacroData(std::move(macroData)) {}
30+
MacroDataAlt(std::vector<int16_t> macroData) : mMacroData(macroData) {}
3131
};
3232

3333
class MacroHeaderExporter : public BaseExporter {
@@ -47,7 +47,7 @@ class MacroFactory : public BaseFactory {
4747
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
4848
inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
4949
return {
50-
// REGISTER(Code, MacroCodeExporter)
50+
REGISTER(Code, MacroCodeExporter)
5151
REGISTER(Header, MacroHeaderExporter)
5252
REGISTER(Binary, MacroBinaryExporter)
5353
};

0 commit comments

Comments
 (0)