- LispReader reader(lisp_cdr(element));
- assert(reader.read_int("id", &tile->id));
- reader.read_bool("solid", &tile->solid);
- reader.read_bool("brick", &tile->brick);
- reader.read_bool("ice", &tile->ice);
- reader.read_bool("fullbox", &tile->fullbox);
- reader.read_bool("distro", &tile->distro);
- reader.read_int("data", (int*)&tile->data);
- reader.read_int("alpha", (int*)&tile->alpha);
- reader.read_int("anim-speed", &tile->anim_speed);
- reader.read_int("next-tile", &tile->next_tile);
- reader.read_int("next-tile2", &tile->next_tile2);
- reader.read_string_vector("images", &tile->filenames);
-
- for(std::vector<std::string>::iterator it = tile->filenames.begin();
- it != tile->filenames.end();
- ++it)
- {
- texture_type cur_image;
- tile->images.push_back(cur_image);
- texture_load(&tile->images[tile->images.size()-1],
- datadir + "images/tilesets/" + (*it),
- USE_ALPHA);
- }
-
- if (tile->id + tileset_id >= int(tiles.size()))
- tiles.resize(tile->id + tileset_id+1);