Skip to content

Commit 6735066

Browse files
committed
Update upscales.hpp
some prep for #128 also clean up the values removing extra string manipulation.
1 parent 220916a commit 6735066

File tree

1 file changed

+94
-92
lines changed

1 file changed

+94
-92
lines changed

src/sfml/upscales.hpp

+94-92
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,23 @@ struct upscales
2222
* remaster uses x, other versions have 3 char coo
2323
*/
2424
std::optional<open_viii::LangT> m_coo = { std::nullopt };
25-
static constexpr std::string_view m_ext = ".png";
25+
static constexpr std::string_view m_ext = { ".png" };
26+
bool m_no_prefix = { false };
2627

2728
public:
2829
upscales() = default;
29-
upscales(std::filesystem::path root, std::string field_name, std::optional<open_viii::LangT> coo)
30+
upscales(std::filesystem::path root, std::string field_name, std::optional<open_viii::LangT> coo, bool no_prefix = false)
3031
: m_root(std::move(root))
3132
, m_field_name(std::move(field_name))
3233
, m_coo(coo)
34+
, m_no_prefix(no_prefix)
3335
{
3436
}
35-
upscales(std::string field_name, std::optional<open_viii::LangT> coo)
37+
upscales(std::string field_name, std::optional<open_viii::LangT> coo, bool no_prefix = false)
3638
: m_root(std::filesystem::current_path())
3739
, m_field_name(std::move(field_name))
3840
, m_coo(coo)
41+
, m_no_prefix(no_prefix)
3942
{
4043
}
4144

@@ -52,11 +55,13 @@ struct upscales
5255
field_root
5356
/ fmt::format("{}_{}_{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), texture_page, palette, ext),
5457
field_root / prefix / m_field_name
55-
/ fmt::format("{}_{}_{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), texture_page, palette, ext)
58+
/ fmt::format("{}_{}_{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), texture_page, palette, ext),
59+
field_root / m_field_name / fmt::format("{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), ext)
5660
};
5761
}
5862
return std::array{ field_root / fmt::format("{}_{}_{}{}", m_field_name, texture_page, palette, ext),
59-
field_root / prefix / m_field_name / fmt::format("{}_{}_{}{}", m_field_name, texture_page, palette, ext) };
63+
field_root / prefix / m_field_name / fmt::format("{}_{}_{}{}", m_field_name, texture_page, palette, ext),
64+
field_root / m_field_name / fmt::format("{}{}", m_field_name, ext) };
6065
}
6166

6267
[[nodiscard]] auto
@@ -69,103 +74,100 @@ struct upscales
6974
return std::array{
7075
field_root / fmt::format("{}_{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), texture_page, ext),
7176
field_root / prefix / m_field_name
72-
/ fmt::format("{}_{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), texture_page, ext)
77+
/ fmt::format("{}_{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), texture_page, ext),
78+
field_root / m_field_name
79+
/ fmt::format("{}_{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), texture_page, ext),
80+
field_root / m_field_name / fmt::format("{}_{}{}", m_field_name, open_viii::LangCommon::to_string(*m_coo), ext)
7381
};
7482
}
7583
return std::array{ field_root / fmt::format("{}_{}{}", m_field_name, texture_page, ext),
76-
field_root / prefix / m_field_name / fmt::format("{}_{}{}", m_field_name, texture_page, ext) };
84+
field_root / prefix / m_field_name / fmt::format("{}_{}{}", m_field_name, texture_page, ext),
85+
field_root / m_field_name / fmt::format("{}_{}{}", m_field_name, texture_page, ext),
86+
field_root / m_field_name / fmt::format("{}{}", m_field_name, ext) };
7787
}
7888

79-
[[nodiscard]] auto get_paths() const
89+
[[nodiscard]] auto get_paths(bool no_prefix = false) const
8090
{
8191
if (m_field_name.empty())
8292
{
83-
return std::array{
84-
m_root / tl::string::replace_slashes(fmt::format(R"(DEMASTER_EXP\textures\field_bg)")),
85-
m_root / "field_bg",
86-
m_root / tl::string::replace_slashes(fmt::format(R"(textures\fields)")),
87-
m_root / tl::string::replace_slashes(fmt::format(R"(textures)")),
88-
m_root
89-
/ tl::string::replace_slashes(fmt::format(
90-
R"(ff8\Data\{}\field\mapdata)",
91-
open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic))),
92-
m_root
93-
/ tl::string::replace_slashes(fmt::format(
94-
R"(ff8\Data\{}\FIELD\mapdata)",
95-
open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic))),
96-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata)", open_viii::LangCommon::ENG)),
97-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata)", open_viii::LangCommon::ENG)),
98-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata)", open_viii::LangCommon::FRE)),
99-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata)", open_viii::LangCommon::FRE)),
100-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata)", open_viii::LangCommon::GER)),
101-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata)", open_viii::LangCommon::GER)),
102-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata)", open_viii::LangCommon::ITA)),
103-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata)", open_viii::LangCommon::ITA)),
104-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata)", open_viii::LangCommon::SPA)),
105-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata)", open_viii::LangCommon::SPA)),
106-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata)", open_viii::LangCommon::JP)),
107-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata)", open_viii::LangCommon::JP)),
108-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata)", 'x')),
109-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata)", 'x'))
110-
};
93+
return std::array{ m_root / "mods" / "Textures",
94+
m_root / "DEMASTER_EXP" / "textures" / "field_bg",
95+
m_root / "field_bg",
96+
m_root / "textures" / "fields",
97+
m_root / "textures",
98+
m_root / "ff8" / "Data"
99+
/ open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic) / "field"
100+
/ "mapdata",
101+
m_root / "ff8" / "Data"
102+
/ open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic) / "FIELD"
103+
/ "mapdata",
104+
m_root / "ff8" / "Data" / open_viii::LangCommon::ENG / "field" / "mapdata",
105+
m_root / "ff8" / "Data" / open_viii::LangCommon::ENG / "FIELD" / "mapdata",
106+
m_root / "ff8" / "Data" / open_viii::LangCommon::FRE / "field" / "mapdata",
107+
m_root / "ff8" / "Data" / open_viii::LangCommon::FRE / "FIELD" / "mapdata",
108+
m_root / "ff8" / "Data" / open_viii::LangCommon::GER / "field" / "mapdata",
109+
m_root / "ff8" / "Data" / open_viii::LangCommon::GER / "FIELD" / "mapdata",
110+
m_root / "ff8" / "Data" / open_viii::LangCommon::ITA / "field" / "mapdata",
111+
m_root / "ff8" / "Data" / open_viii::LangCommon::ITA / "FIELD" / "mapdata",
112+
m_root / "ff8" / "Data" / open_viii::LangCommon::SPA / "field" / "mapdata",
113+
m_root / "ff8" / "Data" / open_viii::LangCommon::SPA / "FIELD" / "mapdata",
114+
m_root / "ff8" / "Data" / open_viii::LangCommon::JP / "field" / "mapdata",
115+
m_root / "ff8" / "Data" / open_viii::LangCommon::JP / "FIELD" / "mapdata",
116+
m_root / "ff8" / "Data" / "x" / "field" / "mapdata",
117+
m_root / "ff8" / "Data" / "x" / "FIELD" / "mapdata" };
118+
}
119+
if (m_no_prefix || no_prefix)
120+
{
121+
return std::array{ m_root / "mods" / "Textures" / m_field_name,
122+
m_root / "DEMASTER_EXP" / "textures" / "field_bg" / m_field_name,
123+
m_root / "field_bg" / m_field_name,
124+
m_root / "textures" / "fields" / m_field_name,
125+
m_root / "textures" / m_field_name,
126+
m_root / "ff8" / "Data"
127+
/ open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic) / "field"
128+
/ "mapdata" / m_field_name,
129+
m_root / "ff8" / "Data"
130+
/ open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic) / "FIELD"
131+
/ "mapdata" / m_field_name,
132+
m_root / "ff8" / "Data" / open_viii::LangCommon::ENG / "field" / "mapdata" / m_field_name,
133+
m_root / "ff8" / "Data" / open_viii::LangCommon::ENG / "FIELD" / "mapdata" / m_field_name,
134+
m_root / "ff8" / "Data" / open_viii::LangCommon::FRE / "field" / "mapdata" / m_field_name,
135+
m_root / "ff8" / "Data" / open_viii::LangCommon::FRE / "FIELD" / "mapdata" / m_field_name,
136+
m_root / "ff8" / "Data" / open_viii::LangCommon::GER / "field" / "mapdata" / m_field_name,
137+
m_root / "ff8" / "Data" / open_viii::LangCommon::GER / "FIELD" / "mapdata" / m_field_name,
138+
m_root / "ff8" / "Data" / open_viii::LangCommon::ITA / "field" / "mapdata" / m_field_name,
139+
m_root / "ff8" / "Data" / open_viii::LangCommon::ITA / "FIELD" / "mapdata" / m_field_name,
140+
m_root / "ff8" / "Data" / open_viii::LangCommon::SPA / "field" / "mapdata" / m_field_name,
141+
m_root / "ff8" / "Data" / open_viii::LangCommon::SPA / "FIELD" / "mapdata" / m_field_name,
142+
m_root / "ff8" / "Data" / open_viii::LangCommon::JP / "field" / "mapdata" / m_field_name,
143+
m_root / "ff8" / "Data" / open_viii::LangCommon::JP / "FIELD" / "mapdata" / m_field_name,
144+
m_root / "ff8" / "Data" / "x" / "field" / "mapdata" / m_field_name,
145+
m_root / "ff8" / "Data" / "x" / "FIELD" / "mapdata" / m_field_name };
111146
}
112147
const std::string_view prefix = std::string_view(m_field_name).substr(0, 2);
113-
return std::array{
114-
m_root / tl::string::replace_slashes(fmt::format(R"(DEMASTER_EXP\textures\field_bg\{}\{}\)", prefix, m_field_name)),
115-
m_root / tl::string::replace_slashes(fmt::format(R"(field_bg\{}\{}\)", prefix, m_field_name)),
116-
m_root / tl::string::replace_slashes(fmt::format(R"(textures\fields\{}\{}\)", prefix, m_field_name)),
117-
m_root / tl::string::replace_slashes(fmt::format(R"(textures\{}\{}\)", prefix, m_field_name)),
118-
m_root
119-
/ tl::string::replace_slashes(fmt::format(
120-
R"(ff8\Data\{}\field\mapdata\{}\{})",
121-
open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic),
122-
prefix,
123-
m_field_name)),
124-
m_root
125-
/ tl::string::replace_slashes(fmt::format(
126-
R"(ff8\Data\{}\FIELD\mapdata\{}\{})",
127-
open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic),
128-
prefix,
129-
m_field_name)),
130-
m_root
131-
/ tl::string::replace_slashes(
132-
fmt::format(R"(ff8\Data\{}\field\mapdata\{}\{})", open_viii::LangCommon::ENG, prefix, m_field_name)),
133-
m_root
134-
/ tl::string::replace_slashes(
135-
fmt::format(R"(ff8\Data\{}\FIELD\mapdata\{}\{})", open_viii::LangCommon::ENG, prefix, m_field_name)),
136-
m_root
137-
/ tl::string::replace_slashes(
138-
fmt::format(R"(ff8\Data\{}\field\mapdata\{}\{})", open_viii::LangCommon::FRE, prefix, m_field_name)),
139-
m_root
140-
/ tl::string::replace_slashes(
141-
fmt::format(R"(ff8\Data\{}\FIELD\mapdata\{}\{})", open_viii::LangCommon::FRE, prefix, m_field_name)),
142-
m_root
143-
/ tl::string::replace_slashes(
144-
fmt::format(R"(ff8\Data\{}\field\mapdata\{}\{})", open_viii::LangCommon::GER, prefix, m_field_name)),
145-
m_root
146-
/ tl::string::replace_slashes(
147-
fmt::format(R"(ff8\Data\{}\FIELD\mapdata\{}\{})", open_viii::LangCommon::GER, prefix, m_field_name)),
148-
m_root
149-
/ tl::string::replace_slashes(
150-
fmt::format(R"(ff8\Data\{}\field\mapdata\{}\{})", open_viii::LangCommon::ITA, prefix, m_field_name)),
151-
m_root
152-
/ tl::string::replace_slashes(
153-
fmt::format(R"(ff8\Data\{}\FIELD\mapdata\{}\{})", open_viii::LangCommon::ITA, prefix, m_field_name)),
154-
m_root
155-
/ tl::string::replace_slashes(
156-
fmt::format(R"(ff8\Data\{}\field\mapdata\{}\{})", open_viii::LangCommon::SPA, prefix, m_field_name)),
157-
m_root
158-
/ tl::string::replace_slashes(
159-
fmt::format(R"(ff8\Data\{}\FIELD\mapdata\{}\{})", open_viii::LangCommon::SPA, prefix, m_field_name)),
160-
m_root
161-
/ tl::string::replace_slashes(
162-
fmt::format(R"(ff8\Data\{}\field\mapdata\{}\{})", open_viii::LangCommon::JP, prefix, m_field_name)),
163-
m_root
164-
/ tl::string::replace_slashes(
165-
fmt::format(R"(ff8\Data\{}\FIELD\mapdata\{}\{})", open_viii::LangCommon::JP, prefix, m_field_name)),
166-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\field\mapdata\{}\{})", 'x', prefix, m_field_name)),
167-
m_root / tl::string::replace_slashes(fmt::format(R"(ff8\Data\{}\FIELD\mapdata\{}\{})", 'x', prefix, m_field_name))
168-
};
148+
return std::array{ m_root / "mods" / "Textures" / prefix / m_field_name,
149+
m_root / "DEMASTER_EXP" / "textures" / "field_bg" / prefix / m_field_name,
150+
m_root / "field_bg" / prefix / m_field_name,
151+
m_root / "textures" / "fields" / prefix / m_field_name,
152+
m_root / "textures" / prefix / m_field_name,
153+
m_root / "ff8" / "Data" / open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic)
154+
/ "field" / "mapdata" / prefix / m_field_name,
155+
m_root / "ff8" / "Data" / open_viii::LangCommon::to_string_3_char(m_coo ? *m_coo : open_viii::LangT::generic)
156+
/ "FIELD" / "mapdata" / prefix / m_field_name,
157+
m_root / "ff8" / "Data" / open_viii::LangCommon::ENG / "field" / "mapdata" / prefix / m_field_name,
158+
m_root / "ff8" / "Data" / open_viii::LangCommon::ENG / "FIELD" / "mapdata" / prefix / m_field_name,
159+
m_root / "ff8" / "Data" / open_viii::LangCommon::FRE / "field" / "mapdata" / prefix / m_field_name,
160+
m_root / "ff8" / "Data" / open_viii::LangCommon::FRE / "FIELD" / "mapdata" / prefix / m_field_name,
161+
m_root / "ff8" / "Data" / open_viii::LangCommon::GER / "field" / "mapdata" / prefix / m_field_name,
162+
m_root / "ff8" / "Data" / open_viii::LangCommon::GER / "FIELD" / "mapdata" / prefix / m_field_name,
163+
m_root / "ff8" / "Data" / open_viii::LangCommon::ITA / "field" / "mapdata" / prefix / m_field_name,
164+
m_root / "ff8" / "Data" / open_viii::LangCommon::ITA / "FIELD" / "mapdata" / prefix / m_field_name,
165+
m_root / "ff8" / "Data" / open_viii::LangCommon::SPA / "field" / "mapdata" / prefix / m_field_name,
166+
m_root / "ff8" / "Data" / open_viii::LangCommon::SPA / "FIELD" / "mapdata" / prefix / m_field_name,
167+
m_root / "ff8" / "Data" / open_viii::LangCommon::JP / "field" / "mapdata" / prefix / m_field_name,
168+
m_root / "ff8" / "Data" / open_viii::LangCommon::JP / "FIELD" / "mapdata" / prefix / m_field_name,
169+
m_root / "ff8" / "Data" / "x" / "field" / "mapdata" / prefix / m_field_name,
170+
m_root / "ff8" / "Data" / "x" / "FIELD" / "mapdata" / prefix / m_field_name };
169171
}
170172

171173
/*

0 commit comments

Comments
 (0)