временные файлы

Обсуждение специальной версии Magic Particles (Dev), предназначенной для разработчиков игр.

временные файлы

Сообщение szura » Чт окт 29, 2009 1:51 pm

Добрый день.

В продолжение общения по email пишу тут.

Но имею трабл и вопрос:
при загрузке эмиттеров типа частиц Circle Of Flame из demo.ptc создаются
некие временные файлы размером 16 килобайт. mp0, mp1, mp2....

Поясняю...
Если анимация эмиттера начианется не с начала (Magic_GetInterval1
возвращает число большее 0), то враппер при первом обращении к
эмиттеру сдвигает позицию анимации до этого первого интервала, чтобы
пользователь его сразу мог увидеть на экране. Потом
враппер запоминает результат (полное состояние спецэффекта) во временный
файл. Это нужно для того, чтобы при перезапуске эмиттера не выполнять
расчеты по перемещению позиции анимации, а сразу взять результат.

И не удаляются по завершении приложения.

Вообще-то должно удаляться. Я специально проверил - у меня файлы
удалились.

Что это такое и Как с этим бороться?

В данном случае бороться надо только с "неудаляемостью" этих файлов.
А чтобы эти файлы не создавались, вы можете в редакторе поставить
"Первая граница интервала видимости"=0, но эффект от этого несколько
изменится.

И всё же.
В какой момент Magic Particles API удаляет эти временные файлы, и что может быть я делаю не то, раз они у меня не удаляются.
szura
 
Сообщения: 2
Зарегистрирован: Сб окт 24, 2009 10:29 pm

Re: временные файлы

Сообщение Odin_KG » Чт окт 29, 2009 2:26 pm

В какой момент Magic Particles API удаляет эти временные файлы, и что может быть я делаю не то, раз они у меня не удаляются.

API этим не занимается - это делает враппер.

В класс MP_Emitter есть переменная:
Код: Выделить всё
MP_String copy_file;      // файл с копией

сюда записывается имя файла, куда снимается копия частиц.

удаление происходит в деструкторе класса:
Код: Выделить всё
MP_Emitter::~MP_Emitter()
{
   if (!copy_file.empty())
   {
      remove(copy_file.c_str());
      copy_file="";
   }

   Magic_UnloadEmitter(emitter);
}


В общем-то у вас есть полностью открытый код враппера и вы можете прошагать этот момент отладчиком - возможно после ваших манипуляций деструктор больше не вызывается. Могу еще предположить такую ситуацию, что у вас когда-то приложение завершилось аварийно и созданные файлы остались не стёртыми, а враппер удаляет только те файлы, которые он создал при запуске (правда, вам нужно было бы ptc-файл поменять для получения такой ошибки). В общем последнее маловероятно.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: временные файлы

Сообщение szura » Чт окт 29, 2009 3:05 pm

Да, и вправду всё оказалось банально. :D
Позабыл delete свой менеджер.
szura
 
Сообщения: 2
Зарегистрирован: Сб окт 24, 2009 10:29 pm

Re: временные файлы

Сообщение Odin_KG » Чт окт 29, 2009 3:17 pm

Позабыл delete свой менеджер.

Бывает :)
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm


Вернуться в Magic API

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron