]> git.localhorst.tv Git - blank.git/blobdiff - src/io/token.cpp
treat head pitch and yaw as entity state
[blank.git] / src / io / token.cpp
index 76a9c2f355e42a54f26f758b3bd76466160fc5aa..b462df778b593ee11927d6e80da46031b530b709 100644 (file)
@@ -4,6 +4,7 @@
 #include <cctype>
 #include <istream>
 #include <stdexcept>
+#include <glm/gtc/quaternion.hpp>
 
 using namespace std;
 
@@ -173,7 +174,7 @@ void Tokenizer::ReadIdentifier() {
 
        istream::char_type c;
        while (in.get(c)) {
-               if (isalnum(c) || c == '_') {
+               if (isalnum(c) || c == '_' || c == '.') {
                        current.value += c;
                } else {
                        in.putback(c);
@@ -330,6 +331,18 @@ void TokenStreamReader::ReadVec(glm::ivec4 &v) {
        Skip(Token::BRACKET_CLOSE);
 }
 
+void TokenStreamReader::ReadQuat(glm::quat &q) {
+       Skip(Token::BRACKET_OPEN);
+       ReadNumber(q.w);
+       Skip(Token::COMMA);
+       ReadNumber(q.x);
+       Skip(Token::COMMA);
+       ReadNumber(q.y);
+       Skip(Token::COMMA);
+       ReadNumber(q.z);
+       Skip(Token::BRACKET_CLOSE);
+}
+
 
 bool TokenStreamReader::GetBool() {
        Next();