-Fixed bug with scene inheritance, should work again

-Proper .tscn and .tres parsing, should work, please test well!
This commit is contained in:
Juan Linietsky
2015-11-28 20:56:14 -03:00
parent bd10df93ec
commit 7aa39b7cae
7 changed files with 812 additions and 350 deletions

View File

@ -38,6 +38,8 @@ public:
void *userdata;
ParseResourceFunc func;
ParseResourceFunc ext_func;
ParseResourceFunc sub_func;
};
@ -82,15 +84,16 @@ public:
private:
static const char * tk_name[TK_MAX];
static Error _parse_construct(Stream *p_stream, Vector<float>& r_construct, int &line, String &r_err_str);
template<class T>
static Error _parse_construct(Stream *p_stream, Vector<T>& r_construct, int &line, String &r_err_str);
static Error _parse_dictionary(Dictionary &object, Stream *p_stream, int &line, String &r_err_str,ResourceParser *p_res_parser=NULL);
static Error _parse_array(Array &array, Stream *p_stream, int &line, String &r_err_str,ResourceParser *p_res_parser=NULL);
static Error _parse_tag(Token& token,Stream *p_stream, int &line, String &r_err_str,Tag& r_tag);
static Error _parse_tag(Token& token,Stream *p_stream, int &line, String &r_err_str,Tag& r_tag,ResourceParser *p_res_parser=NULL);
public:
static Error parse_tag(Stream *p_stream, int &line, String &r_err_str,Tag& r_tag);
static Error parse_tag_assign_eof(Stream *p_stream, int &line, String &r_err_str,Tag& r_tag,String &r_assign);
static Error parse_tag(Stream *p_stream, int &line, String &r_err_str,Tag& r_tag,ResourceParser *p_res_parser=NULL);
static Error parse_tag_assign_eof(Stream *p_stream, int &line, String &r_err_str, Tag& r_tag, String &r_assign, Variant &r_value,ResourceParser *p_res_parser=NULL);
static Error parse_value(Token& token,Variant &value, Stream *p_stream, int &line, String &r_err_str,ResourceParser *p_res_parser=NULL);
static Error get_token(Stream *p_stream,Token& r_token,int &line,String &r_err_str);