Example #1
0
SpriteDescriptionPtr
SpriteDescription::from_file(const Pathname& path)
{
  ReaderObject reader_object = FileReader::parse(path);
  ReaderMapping reader = reader_object.get_mapping();

  SpriteDescriptionPtr desc(new SpriteDescription);

  reader.read_int("speed", desc->speed);
  reader.read_bool("loop", desc->loop);
  reader.read_vector2i("offset", desc->offset);

  reader.read_enum("origin", desc->origin, string2origin);

  if (!reader.read_path("image", desc->filename))
  {
    log_error("'image' missing for %1%", reader_object.get_name());
  }

  desc->filename = Pathname(desc->filename.get_raw_path(), Pathname::DATA_PATH); // FIXME: Hack
  reader.read_size("array", desc->array);
  reader.read_vector2i("position",   desc->frame_pos);
  reader.read_size("size",  desc->frame_size);

  return desc;
}
Example #2
0
StoryDot::StoryDot(const ReaderMapping& reader) :
    Dot(reader.read_mapping("dot")),
    m_story_dot_highlight("core/worldmap/story_dot_highlight"),
    m_story_dot("core/worldmap/story_dot"),
    m_name(),
    m_story(),
    m_credits(false)
{
    reader.read_string("name", m_name);
    reader.read_string("story", m_story);
    reader.read_bool("credits", m_credits);
}