Scene *SceneParser::load(const char *filename) { KeyValues *data = new KeyValues(); if(!data->loadFile(filename)) { fprintf(stderr, "Failed to load Scene %s", filename); delete data; return NULL; } // TODO: should we have an internal object for the parser? setPath(filename); Scene *scene = loadScene(data); delete data; return scene; }