 |
PGE Engine
|
37 #define SMBX64_FileBegin() int str_count=0;\
43 #define SMBX64_File(raw) FileStringList in;\
48 #define nextLine() str_count++;line = in.readLine();
50 #define parseLine(validate, target, converted) if( validate ) \
52 else target=converted;
55 #define strVar(target, line) parseLine( SMBX64::qStr(line), target, SMBX64::StrToStr(line))
56 #define UIntVar(target, line) parseLine( SMBX64::uInt(line), target, toInt(line))
57 #define SIntVar(target, line) parseLine( SMBX64::sInt(line), target, toInt(line))
58 #define wBoolVar(target, line) parseLine( SMBX64::wBool(line), target, SMBX64::wBoolR(line))
60 #define SFltVar(target, line) parseLine( SMBX64::sFloat(line), target, line.replace(QChar(','), QChar('.')).toFloat());
62 #define SFltVar(target, line) parseLine( SMBX64::sFloat(line), target, ([line]() -> float { std::string newx=line;PGE_FileFormats_misc::replaceAll(newx, ",", "."); return toFloat(newx); })() )
66 #define strVarMultiLine(target, line) {\
68 while( (first && (line.size()==1)&&(line=="\""))||(!line.endsWith('\"')))\
72 str_count++;line.append(in.readLine());\
73 if(line.endsWith('\"'))\
76 strVar(target, line);\
79 #define strVarMultiLine(target, line) {\
81 while( (first && (line.size()==1)&&(line=="\""))||(!PGE_FileFormats_misc::hasEnding(line, "\"")))\
85 str_count++;line.append(in.readLine());\
86 if(PGE_FileFormats_misc::hasEnding(line, "\""))\
89 strVar(target, line);\
94 #define ge(v) file_format>=v
95 #define gt(v) file_format>v
96 #define le(v) file_format<=v
97 #define lt(v) file_format<v
99 #endif // SMBX64_MACRO_H