Перейти к публикации
Форум - ComputerCraft
  • записей
    85
  • комментариев
    330
  • просмотров
    218 718

Обновление OpenComputers до версии 1.7.3

Fingercomp

612 просмотра

Эм, здрассьте. Предлагаю поглядеть на новое обновление мода. Очень толстого обновления.

  • Отрегулировали частоту выполнения хука, который шлёт этот ненавистный "too long without yielding", так что теперь и скорость исполнения кода должна гораздо возрасти, и с ошибкой этой код падать реже. Мы проверяли: некая гуи-либа с 1.6 fps до 2.5 fps только благодаря этому работать стала.
  • Оптимизировали производительность ещё и записи на диск. Пошустрее будет — обещают, что в 5–500 раз.
  • Сетевой разделитель (сплиттер) стал компонентом. Можно программно теперь отключать куски сети.
  • Жёсткие диски стало возможным делать Read-Only.
  • Компьютеры CC могут читать сигналы бандлед-редстоуна OC. И наоборот.
  • Функции [il]debug.getlocal[/il] и [il]debug.getupvalue[/il]: возвращают они лишь только имя переменной, но не значение её. И мне кажется, что это уже давно было завезено.
  • Геолайзеры получили методы [il]isSunVisible[/il], [il]canSeeSky[/il] и [il]detect[/il]. Неплохо.
  • В [il]computer.beep[/il] можно писать морзянку. [il]computer.beep("---.---")[/il].
  • [il]redstone.setOutput[/il] научился ставить значения больше 15.
  • Клавиатуру можно цеплять к монитору, если ещё поставить к непередней стороне блока. Наконец-то.
  • [1.12] Вернули поддержку Project Red.
  • Через адаптер можно теперь работать с камерой реактора IC2.
  • У серверных дисководов тоже есть теперь гуишка (пкм в мире или внутри интерфейса стойки).
  • Торговый апгрейд обзавёлся методом [il]getMerchantId[/il]. Полезно, если жителей куча.
  • [1.12] Вернули поддержку энергии AE2.
  • В конце-то концов: дебаг-карте добавили [il]scanContentsAt[/il].
  • Больше инфы возвращается для предметов из Draconic Evolution.
  • Вейпоинты стало можно ставить вверх или вниз. Это действительно было слишком контринтуитивным.
  • Связанные карты можно скрафчивать вместе (повяжет на новый канал их). Плюс получать адрес канала при скане стэка.
  • Можно теперь менять цветовой код сундуков Ender Storage.
  • Связанные карты также научились будить компьютер по сигналу, как модемы.
  • Белый и чёрный списки измерений для чанклоадера.
  • Метод [il]disk_drive.media[/il], которым можно получить адрес дискеты внутри дисковода.
  • Поддержка Forge Energy для зарядки предметов вроде батареек и планшетов.
  • Анализатор показывать будет по клику на адаптер ещё и содержащийся в нём компонент.
  • Событие [il]redstone_changed[/il] показывает, какой цвет поменялся на бандлед-кабеле.
  • По шифт-клику компоненты закидываются в соответствии с их уровнями.
  • Подрезали немного шум в логе от OC.
  • Методы вроде [il]robot.suck[/il], [il]robot.suchFromSlot[/il] и [il]transpoer.transferItem[/il] теперь возвращают вместо [il]true[/il] число перемещённых предметов.
  • Немного уменьшили назойливость частиц наномашинок.
  • Жёсткий диск 3 уровня в режиме без ФС стал иметь по умолчанию не 6, а 8 пластин.
  • Улучшили рендер кабелей как-то.
  • Такие же "как-то" улучшения произошли с инвентарём роботов, апгрейдом крафта, методами [il]swing[/il] и [il]use[/il], взаимодействием с жидкостными баками. С модами получше работать должны.
  • Чанклодыри можно ставить в микроконтроллер теперь.
  • Расширили покрытие юникода шрифтом.
  • Стандартный биос стал есть меньше памяти.
  • Мониторы глючить должны поменьше.
  • Пофиксили обнуление содержимого инвентарей блоков мода при крашах.
  • Ещё некий краш при установке микроконтроллеров починили.
  • Команду [il]/oc_nm[/il] вправили в место и заставили работать.
  • Дюп роботов убран.
  • Команды перемещения теперь говорят, успешно или безуспешно вызов завершился.
  • Форсирование [il]LuaJ[/il] не форсировало эту архитектуру.
  • [il]transferItem[/il] проверял не ту сторону.
  • Починили Unknown error при попытке залить чего-то в некие машинки.
  • Дюп дронов тоже починили.
  • Выкорчевали возможную ошибку при запуске вместе с IC2.
  • Роботы перестали потреблять ингредиенты при крафте, которые не потребляются.
  • Апгрейд ангельский стал работать.
  • Пофиксили торговый апгрейд. Его прямая задача исполнялась кривовато.
  • Роботы не перемещались, когда нужно было.
  • Дюп предметов дронами и роботами.
  • Дискету network тоже можно ставить через install теперь.
  • Дюп жидкостей, конечно, тоже был и тоже пофикшен.
  • Дроны не реинициализировались после включения по сообщению модема. И вели себя очень странно.
  • Всякие фиксы в интеграции с AE2.
  • Опять некий дюп EEPROM. Удалён.
  • Краши при загрузке с Applied Llamagistics.
  • Краши при нетрадиионной установке компьютеров.
  • Краши (но на клиенте), связанные как-то с кабелями и загрузкой чанков.
  • [il]enableNanomachinePfx[/il] не имела эффекта.
  • Роботы стали вызывать обработчики модов при получении опыта.
  • Вводящие в заблуждение сообщения анализатора о выключенных компьютерах стали вводить в заблуждение в меньшей степени.
  • Микроконтроллеры свою начинку теперь тоже выключают вместе с собою.
  • Всякие ошибки кидал апгрейд поводка вместе с некоторыми модами. Фиксед.
  • [1.10+] Починен рецепт крафта карточки с мировым датчиком.
  • Экран планшетов теперь не зависает.
  • Терминальные серверы ненормально цепляли удалённых терминалов на себя.
  • Ошибки освещения с шейдерами.

В OpenOS ещё отметить можно:

  • Команда [il]reset[/il], которая ресетит разрешение.
  • Ошибки сервисов пишутся в /tmp/event.log.
  • Можно теперь ловить ошибки по Ctrl-Alt-C (жёсткие прерывания) путём переопределения функции в [il]process.info().data.signal[/il].
  • Копипаст в [il]edit[/il]: Ctrl-K — вырезать, Ctrl-U — вставить строку.
  • Процессы закрывают файлы при завершении.

Ссылочка на гитхаб, откуда можно скачать мод.

  • Like 6


5 комментариев


Рекомендованные комментарии

Цитата
  • Отрегулировали частоту выполнения хука, который шлёт этот ненавистный "too long without yielding", так что теперь и скорость исполнения кода должна гораздо возрасти, и с ошибкой этой код падать реже. Мы проверяли: некая гуи-либа с 1.6 fps до 2.5 fps только благодаря этому работать стала.

Скорость выполнения пока не тестировал, но частота прерываний по TLWY, непонятно, чем обусловленных, упала раз в 5 при переходе с версии 1.7.2 на 1.7.3. Проверялось на сборке OC+IC2exp в Майнкрафте версии 1.7.10.

 

Абсолютные значения, наверное, не имеют большого смысла, т.к. эта частота сильно зависит от модпака. Например, на сборке EvilWorld прерывания по TLWY возникали раз в 10 чаще, чем на лёгкой сборке OC+IC2exp. Но если кому интересно, то на лёгкой сборке с OC 1.7.3 я получил TLWY всего три раза за 200'000 тиков (2.7 часа). Плотность непрерывной вычислительной нагрузки составляла около 3/4 тика. Оставшаяся четверть тика в обязательном порядке тратилась на вызов pullSignal() с целью  избежать TLWY, что само по себе очень избыточно, но даже эта мера не обеспечила 100% гарантии успешного завершения кода.

Поделиться комментарием


Ссылка на комментарий

Починили да не все похоже. Народ, проверьте работает ли у вас правильно транспозер. Тоесть может он перемещать вещи из конкретного слота сундука в конкретный другой слот. Вчера с такой проблемой столкнулся на майне 1.7.10. А то если и правда не работает, пора Сангару писать.

  • Like 1

Поделиться комментарием


Ссылка на комментарий
1 час назад, Asior сказал:

Починили да не все похоже. Народ, проверьте работает ли у вас правильно транспозер. Тоесть может он перемещать вещи из конкретного слота сундука в конкретный другой слот. Вчера с такой проблемой столкнулся на майне 1.7.10. А то если и правда не работает, пора Сангару писать.

Подтверждаю. При выполнении transposer.transferItem(1,5, 16, 2,2):

  • 1.7.3 игнорирует номера слотов как источника, так и приемника, пересылая 16 предметов из первого слота в первый. Возвращает количество переданных предметов.
  • 1.7.2 возвращает true, но зато перемещает предметы ровно в тот слот и из того слота, которые указаны.

 

Поделиться комментарием


Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×