#define __DIR__ "/domains/CHANGEME/virtual/"

mixed compile_object(string file) {
    string *path;
    object ob;
    int x, y, z, elements;
    if(grepp(file, "/user_") || grepp(file, "/object_")){
        ob = new("/domains/CHANGEME/virtual/void");
        if(!ob){
            return "No void room available.";
        }
        return ob;
    }
    path = explode(file, "/");
    if( file_size(__DIR__ + path[3] + ".c") < 1 ) return "bad file";
    if( (elements = sscanf(path[4], "%d,%d,%d", x, y, z)) != 3 ) {  
        if( (elements = sscanf(path[4], "%d,%d", x, y)) != 2 ) return "missing comma";    
    }
    if( elements == 2 && !(ob = new(__DIR__ + path[3], x, y)) ) return "failed to compile";
    else if( elements == 3 && !(ob = new(__DIR__ + path[3], x, y, z)) ) return "failed to compile";
    return ob;
}