diff options
Diffstat (limited to 'servers/visual/shader_language.cpp')
-rw-r--r-- | servers/visual/shader_language.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp index 4ad8aa6c71..ea56306241 100644 --- a/servers/visual/shader_language.cpp +++ b/servers/visual/shader_language.cpp @@ -5,7 +5,7 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2007-2015 Juan Linietsky, Ariel Manzur. */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -118,13 +118,17 @@ ShaderLanguage::Token ShaderLanguage::read_token(const CharType* p_text,int p_le while(true) { - if (GETCHAR(r_chars+1)=='0') + if (GETCHAR(r_chars+1)==0) { + r_chars+=1; break; - if (GETCHAR(r_chars+1)=='*' && GETCHAR(r_chars+2)=='/') + } if (GETCHAR(r_chars+1)=='*' && GETCHAR(r_chars+2)=='/') { + r_chars+=3; break; - if (GETCHAR(r_chars+1)=='\n') + } if (GETCHAR(r_chars+1)=='\n') { r_line++; - r_chars++; + } + + r_chars++; } return Token(); @@ -1141,6 +1145,8 @@ const ShaderLanguage::BuiltinsDef ShaderLanguage::ci_fragment_builtins_defs[]={ { "SRC_COLOR", TYPE_VEC4}, { "POSITION", TYPE_VEC4}, { "NORMAL", TYPE_VEC3}, + { "NORMALMAP", TYPE_VEC3}, + { "NORMALMAP_DEPTH", TYPE_FLOAT}, { "UV", TYPE_VEC2}, { "COLOR", TYPE_VEC4}, { "TEXTURE", TYPE_TEXTURE}, @@ -1273,7 +1279,7 @@ ShaderLanguage::Node* ShaderLanguage::validate_function_call(Parser&parser, Oper if (p_func->op==OP_CONSTRUCT && all_const) { - bool all_const=false; + Vector<float> cdata; for(int i=0;i<argcount;i++) { @@ -1708,7 +1714,7 @@ Error ShaderLanguage::parse_expression(Parser& parser,Node *p_parent,Node **r_ex if (!existing) { - parser.set_error("Unexisting identifier in expression: "+identifier); + parser.set_error("Nonexistent identifier in expression: "+identifier); return ERR_PARSE_ERROR; } |