Writing entity brushes overwrites brush texture with common/trigger
This commit is contained in:
parent
5f0343a88d
commit
24d011a289
@ -5,7 +5,7 @@
|
||||
#include <iterator>
|
||||
using namespace std;
|
||||
|
||||
bool is_ebrush(std::vector<std::string> input) {
|
||||
bool is_ebrush(const std::vector<std::string> &input) {
|
||||
#define KEYWORD_ENTBRUSH1 "type Teleporter"
|
||||
#define KEYWORD_ENTBRUSH2 "type JumpPad"
|
||||
for (const string &str : input) {
|
||||
@ -36,6 +36,18 @@ bool write(const struct TBrush &geometry,
|
||||
return ok;
|
||||
}
|
||||
|
||||
// currently for the specific case to specify trigger to brush entities
|
||||
struct TBrush override_textures(struct TBrush x, const char *texture) {
|
||||
struct TBrush output = x;
|
||||
for (struct TFace &z : output.m_Faces) {
|
||||
// prevent appending color infomation to texture file path
|
||||
// may need re-ordering on when to append that.
|
||||
z.hex = string();
|
||||
z.m_Material = texture;
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
void write(const vector<string> &entity,
|
||||
ofstream &fo,
|
||||
void (*b) (stringstream &, const vector<TPlanePoints> &),
|
||||
@ -73,7 +85,7 @@ void write(const vector<string> &entity,
|
||||
string line;
|
||||
copy(brush.begin(), brush.end(), ostream_iterator<string>(ss, "\n"));
|
||||
getline(ss, line); // this both discards the brush keyboard and prevents a crash
|
||||
write(parse_brush<stringstream>(ss), fo, b);
|
||||
write(override_textures(parse_brush<stringstream>(ss), "common/trigger"), fo, b);
|
||||
}
|
||||
fo << "}" << endl;
|
||||
}
|
||||
|
@ -10,7 +10,9 @@
|
||||
#include <queue>
|
||||
#include "EntityConverter.hpp"
|
||||
|
||||
bool is_ebrush(std::vector<std::string>);
|
||||
bool is_ebrush(const std::vector<std::string>&);
|
||||
|
||||
struct TBrush override_textures(struct TBrush, const char*);
|
||||
|
||||
bool write(const struct TBrush &,
|
||||
std::ofstream &,
|
||||
|
Loading…
Reference in New Issue
Block a user