Split set_briefing_filename
This commit is contained in:
parent
e9e69a1a1a
commit
43abfdf431
|
@ -671,19 +671,24 @@ int load_mission_ham()
|
|||
}
|
||||
#endif
|
||||
|
||||
#define tex ".tex"
|
||||
static void set_briefing_filename(d_fname &f, const char *const v, std::size_t d)
|
||||
{
|
||||
f.copy_if(v, d);
|
||||
f.copy_if(d, tex);
|
||||
if (!PHYSFSX_exists(static_cast<const char *>(f), 1) && !(f.copy_if(++d, "txb"), PHYSFSX_exists(static_cast<const char *>(f), 1))) // check if this file exists ...
|
||||
f = {};
|
||||
}
|
||||
|
||||
static void set_briefing_filename(d_fname &f, const char *const v)
|
||||
{
|
||||
using std::next;
|
||||
auto &tex = ".tex";
|
||||
auto a = [](char c) {
|
||||
return !c || c == '.';
|
||||
};
|
||||
auto i = std::find_if(v, next(v, f.size() - sizeof(tex)), a);
|
||||
std::size_t d = std::distance(v, i);
|
||||
f.copy_if(v, d);
|
||||
f.copy_if(d, tex);
|
||||
if (!PHYSFSX_exists(static_cast<const char *>(f), 1) && !(f.copy_if(++d, "txb"), PHYSFSX_exists(static_cast<const char *>(f), 1))) // check if this file exists ...
|
||||
f = {};
|
||||
set_briefing_filename(f, v, d);
|
||||
}
|
||||
|
||||
static void record_briefing(d_fname &f, array<char, PATH_MAX> &buf)
|
||||
|
@ -694,6 +699,7 @@ static void record_briefing(d_fname &f, array<char, PATH_MAX> &buf)
|
|||
else
|
||||
f = {};
|
||||
}
|
||||
#undef tex
|
||||
|
||||
//loads the specfied mission from the mission list.
|
||||
//build_mission_list() must have been called.
|
||||
|
|
Loading…
Reference in a new issue