urho3d/urho3d

Не работает превью ресурсов в редакторе

1vanK opened this issue · 13 comments

1vanK commented

После обновы 724506f в браузере ресурсов при выделении любой модели (или материала) не может определить тип ресурса (пишет Unknown)

1vanK commented

Рабочая версия: codecat/angelscript-mirror@2f1d5f2

В следующем коммите возникают ассерты в отладочной версии codecat/angelscript-mirror@4fea513 а в релизной версии эта ошибка

1vanK commented

В последних версиях AS ассерт пофикшен, но ошибка остается

1vanK commented

Ошибка возникает тут EditorResourceBrowser.as

int GetResourceType(String path, StringHash &out fileType, bool useCache = false)
{
    if (GetExtensionType(path, fileType) || GetBinaryType(path, fileType, useCache) || GetXmlType(path, fileType, useCache))
        return GetResourceType(fileType);

    return RESOURCE_TYPE_UNKNOWN;
}

При выделении модели в браузере ресурсов, внутри функции GetBinaryType() fileType устанавливается в правильное значение, но когда значение передается дальше в функцию GetResourceType(), то оно сбрасывается в ноль

1vanK commented

@orefkov там ты в коммите поломанном указан, есть идеи?

1vanK commented

Выглядит так, что когда параметр &out передаётся из функции в функции он невзначай очищается между вызовами

1vanK commented

Может там &inout нужен или что-то вроде этого

1vanK commented

Блин, а сработало. Теперь все &out по скриптам шерстить(

Лучше тогда вообще не указывать - тогда параметр считается inout.

1vanK commented

Ну это баг полюбому, типа если я переменную &out прокидываю во вложенный вызов, она же все равно &out

1vanK commented

У тебя на готове нет микропримера, чтобы проверить такое изолированно?

1vanK commented

Чтоб пофиксилось достаточно bool GetExtensionType(String path, StringHash &out fileType) поменять

1vanK commented

Написал ему на мыло

1vanK commented

Добавил временный workaround, но issue закрыть не буду