 const int RESOURCE_TYPE_CUBEMAP = 20;
 const int RESOURCE_TYPE_PARTICLEEMITTER = 21;
 const int RESOURCE_TYPE_2D_ANIMATION_SET = 22;
+const int RESOURCE_TYPE_GENERIC_XML = 23;
+const int RESOURCE_TYPE_GENERIC_JSON = 24;
 
 // any resource type > 0 is valid
-const int NUMBER_OF_VALID_RESOURCE_TYPES = 22;
+const int NUMBER_OF_VALID_RESOURCE_TYPES = 24;
 
 const StringHash XML_TYPE_SCENE("scene");
 const StringHash XML_TYPE_NODE("node");

        return RESOURCE_TYPE_CUBEMAP;
    else if (fileType == JSON_TYPE_SPRITER_DATA)
        return RESOURCE_TYPE_2D_ANIMATION_SET;

    // extension fileTypes
    else if (fileType == EXTENSION_TYPE_TTF)
        return RESOURCE_TYPE_FONT;
    else if (fileType == EXTENSION_TYPE_OTF)


    BrowserFile@ AddFile(String name, uint resourceSourceIndex, uint sourceType)
    {
        String path = resourceKey.length > 0 ? (resourceKey + "/" + name) : name;

        BrowserFile@ file = BrowserFile(path, resourceSourceIndex, sourceType);
        files.Push(file);
        return file;
