示例#1
0
bool cutscene::load(const std::string& data_dir, int cut_num) {
    base_dir = data_dir;
    this->cut_num = cut_num;
    std::string n00_file(data_dir+"/cuts/cs"+to_octal3(cut_num)+".n00");
    std::string n01_file(data_dir+"/cuts/cs"+to_octal3(cut_num)+".n01");
    std::string font_file(data_dir+"/data/fontbig.sys");
    std::string strings_file(data_dir+"/data/strings.pak");
    if(!load_font(font_file)) return false;
    if(!load_n00(n00_file)) return false;
    if(!load_strings(strings_file, cut_num)) return false;
    //File may or may not exist; things like the "dream" cutscenes use .n01's that don't match the .n00, but they load them immediately with a command in the n00.
    load_lpf(n01_file);
    return true;
}
示例#2
0
int main ()
{
  printf ("Results of open_benchmark:\n");

  try
  {
    FT_Library library;

    if (FT_Init_FreeType (&library))
      throw xtl::format_operation_exception ("::FT_Init_FreeType", "Can't init freetype library\n");

    {
      common::InputFile font_file (FILE_NAME);

      xtl::uninitialized_storage<char> font_data (font_file.Size ());

      font_file.Read (font_data.data (), font_data.size ());

      size_t start_time = common::milliseconds ();

      for (size_t i = 0; i < MEMORY_ITERATIONS_COUNT; i++)
      {
        FT_Face face;

        if (FT_New_Memory_Face (library, (const FT_Byte*)font_data.data (), font_data.size (), 0, &face))
          throw xtl::format_operation_exception ("FontFace::FontFace", "Can't create font face\n");

        FT_Done_Face (face);
      }

      printf ("FreeType font creation speed from memory is %f/s\n", MEMORY_ITERATIONS_COUNT / ((common::milliseconds () - start_time) / 1000.f));
    }

    {
      size_t start_time = common::milliseconds ();

      for (size_t i = 0; i < FILE_ITERATIONS_COUNT; i++)
      {
        common::InputFile font_file (FILE_NAME);

        xtl::uninitialized_storage<char> font_data (font_file.Size ());

        font_file.Read (font_data.data (), font_data.size ());

        FT_Face face;

        if (FT_New_Memory_Face (library, (const FT_Byte*)font_data.data (), font_data.size (), 0, &face))
          throw xtl::format_operation_exception ("FontFace::FontFace", "Can't create font face\n");

        FT_Done_Face (face);
      }

      printf ("FreeType font creation speed from file is %f/s\n", FILE_ITERATIONS_COUNT / ((common::milliseconds () - start_time) / 1000.f));
    }

    FT_Done_FreeType (library);
  }
  catch (std::exception& exception)
  {                                               
    printf ("exception: %s\n",exception.what ());
  }                                               
  catch (...)
  {
    printf ("unknown exception\n");
  }

  return 0;
}