Перейти к содержимому

Fingercomp's Playground

  • записей
    87
  • комментария
    452
  • просмотра
    311 242

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

Fingercomp

2 874 просмотра

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

  • Отрегулировали частоту выполнения хука, который шлёт этот ненавистный "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 — вставить строку.
  • Процессы закрывают файлы при завершении.

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

  • Нравится 7


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


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

Цитата
  • Отрегулировали частоту выполнения хука, который шлёт этот ненавистный "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. А то если и правда не работает, пора Сангару писать.

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


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

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

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

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

 

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


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

Хз, хз. Все остальное вроде как работает. Висит только под вопросом правильная работа транспозера. Новая тема кстати появилась (хотя нет, дубль все с теми же людьми) https://github.com/MightyPirates/OpenComputers/issues/2988. Появились новые баги, хотя вроде как для 1.12 майна. Короче ждем фингера. Если будешь менять мод, конфиги скопируй, а то они перезаписываются и приходится потом заного сидеть и выставлять их. Кстати тогда чанклодеры можно разрешать, они теперь вырубаются если игрока нету.

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


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

Кстати тогда чанклодеры можно разрешать, они теперь вырубаются если игрока нету

Не вырубаются. Добавили только белый/чёрный списки измерений и возможность установки в микроконтроллер.

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


Ссылка на комментарий
Гость
Добавить комментарий...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...