Added function to identify jumppads and teleporters
This commit is contained in:
parent
98abd5c184
commit
0428d31ad7
@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
#define KEYWORD_ENTITY "entity"
|
#define KEYWORD_ENTITY "entity"
|
||||||
#define KEYWORD_BRUSH "brush"
|
#define KEYWORD_BRUSH "brush"
|
||||||
#define KEYWORD_VERTICES "vertices"
|
#define KEYWORD_VERTICES "vertices"
|
||||||
@ -14,6 +12,18 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
bool is_ebrush(std::vector<std::string> input) {
|
||||||
|
// defines are only used in this function.
|
||||||
|
#define KEYWORD_ENTBRUSH1 "type Teleporter"
|
||||||
|
#define KEYWORD_ENTBRUSH2 "type JumpPad"
|
||||||
|
for (const string &str : input) {
|
||||||
|
if (str.compare(KEYWORD_ENTBRUSH1) == 0 ||
|
||||||
|
str.compare(KEYWORD_ENTBRUSH2) == 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// place holding functions to test proper control flow.
|
// place holding functions to test proper control flow.
|
||||||
bool write(const struct TBrush &geometry,
|
bool write(const struct TBrush &geometry,
|
||||||
@ -45,9 +55,12 @@ vector<string> get_entity(ifstream &f) {
|
|||||||
string line;
|
string line;
|
||||||
unsigned int pos = f.tellg();
|
unsigned int pos = f.tellg();
|
||||||
while (getline(f, line)) {
|
while (getline(f, line)) {
|
||||||
if (line.find(KEYWORD_ENTITY) != string::npos ||
|
// stop when
|
||||||
line.find(KEYWORD_BRUSH) != string::npos ||
|
// entity or a prefab keyword
|
||||||
line.find(KEYWORD_PREFAB) != string::npos) {
|
// brush keyword and the entity is not of the type teleporter or jumppad.
|
||||||
|
if ((line.find(KEYWORD_ENTITY) != string::npos ||
|
||||||
|
line.find(KEYWORD_PREFAB) != string::npos) || (
|
||||||
|
line.find(KEYWORD_BRUSH) != string::npos && !is_ebrush(output))) {
|
||||||
f.seekg(pos);
|
f.seekg(pos);
|
||||||
return output;
|
return output;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user