Перейти к публикации
Форум - ComputerCraft

ECS

Гуру
  • Публикации

    224
  • Пожертвование

    0.00 ₽ 
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    85

Последний раз ECS выиграл 16 октября

Публикации ECS были самыми популярными!

Репутация

1 444 Очень хороший

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург
  • Интересы
    Плавание, охота, туризм, кодинг

Контакты

  • Skype
    eliteclubsessions

Посетители профиля

923 просмотра профиля
  1. ECS

    Meh, опять эмулятор OC

    С переменным успехом работа продолжается: Перенес основную логику на сангаровский JNLua вместо LuaJ, добавил лимитирование оперативки Переосмыслил систему виртуализации: теперь каждая машина - это отдельное окошко со своими параметрами, сохраняемыми в конфиге Запилил опцию изменения пропорций виртуального экрана для screen.getAspectRatio(), а то эмуляторы обычно выдают 1, 1 по дефолту Реализовал компонент tunnel, который, в общем-то, ничем не отличается от модема. Возможно, если нервы не сдадут, в будущем добавлю систему энергозатрат - и тогда связанная карта будет жрать овердофигища ресурсов Сделал выбор имени игрока, от лица которого осуществляется управление компом Добавил фичу скрытия тулбара справа, чтоб ничто не отвлекало взор, так сказать Багов, конечно, жопой жуй: не всегда корректно читаются файлы в бинарном режиме, многие фичи по типу computer.addUser() являются не более чем функциями-заглушками, а еще странно читаются экранные события при вертикальной ориентации. Ну, по крайней мере, опенось уже запускается. И гляньте, какой чудный FPS:
  2. ECS

    Meh, опять эмулятор OC

    На 32 либа даже и не думает линковаться, архитекторы всякие лажают
  3. ECS

    Meh, опять эмулятор OC

    Спасибо, однако я не настолько форумчанин, чтобы не уметь грузить ресурсы по корректным путям хд Тем более до временных файлов я еще не дошел, тут либа даже по абсолютному пути не желает корректно работать: при линковке lua52/native.dylib никаких проблем не возникает - прям бери и пиши эмуль на здоровье, а с lua53/native.64.dylib консоль уже орет благим матом на unsatisfied link. Для меня это несколько... нелогично что ли. Чо делать-то? Забить и остаться на 5.2? public static void main(String[] a) { NativeSupport.getInstance().setLoader(() -> { System.load("/Users/igor/Documents/GitHub/jnlua/src/com/company/lib/lua53/native.64.dylib"); }); // Что так new LuaStateFiveThree(8 * 1024 * 1024); // Что эдак new LuaState(8 * 1024 * 1024); }
  4. ECS

    Meh, опять эмулятор OC

    @Totoro Нашел в логах ирки запись об ошибке, которая внезапно заимелась и у меня. Стесняюсь спросить, как ты разрешил сию проблему
  5. ECS

    Meh, опять эмулятор OC

    Звучит оч воодушевляюще. Надеюсь, там будет иметься опция "я позволяю майнить крипту через свой бровсер в обмен на дополнительный виртуальный компик" для ну ваще полнейшего фарша?
  6. ECS

    Meh, опять эмулятор OC

    Ссылку он хоть и кидал, а про "ето Тоторина штука" не упомянул, зараза. Хороший Тотора, графон мы уважаем За предложение благодарю, но мне самописные велосипеды больше импонируют, да и со скалой не сталкивался ни разу. Собственно, со сподвижки Neo я затестил тот самый пропатченный JNLua - но, увы, не осилил ввиду отсутствия сколь-либо внятных мануалов
  7. ECS

    Meh, опять эмулятор OC

    @Totoro, о, а что это вы там мутите такое? Я бы с радостью потырил фичи
  8. ECS

    Meh, опять эмулятор OC

    На данный момент 3 с копейками. Запакованные в jar'ник опенось и картиночки чуть раздуют, конечно, но не до таких масштабов
  9. ECS

    Meh, опять эмулятор OC

    Вот взял и нагадил мне тут Порчей - теперь точно рантаймы посыпятся
  10. ECS

    Meh, опять эмулятор OC

    Еще мой дед говаривал, что каждый кодер на ОС просто обязан начать писать собственный эмуль для самоутверждения. Не желая изменять семейным ценностям, я тоже окунулся с головой в эту клоаку. Вообще в существующих эмуляторах лично меня люто бесит возня с ручной компиляцией, докачиванием всяческих либ по типу openssl, а также отсутствие возможности запуска нескольких виртуальных компиков в едином пространстве с масштабированием экранов, не говоря уже про пересылку данных между ними посредством не менее виртуальных модемов. Поэтому почесав репу, собрав JavaFX + LuaJ, накатав несколько компонентов, на данный момент я заимел следующие зачатки проекта: Библиотеки computer, component, unicode Компоненты computer, eeprom, filesystem, gpu, modem, screen, keyboard Имитация системных сигналов по типу touch/drag/drop/key_down/key_up/scroll/modem_message с поддержкой pullSignal/pushSignal Пересылка сетевых пакетов между имеющимися машинами в рабочем пространстве через modem.send/broadcast BSOD для "unrecoverable error" Звуковая система а-ля "комп в мире кубача", имитирующая звуки доступа к диску, и прикольно шумящая на фоне для антуража Создание/сохранение/загрузка виртуальных машин с сериализацией данных имеющихся компонентов. Ну, всяких там адресов, разрешений видях, размеров, координат и т.п. Кнопочка включения (!) Разумеется, компоненты имеют далеко не все методы, их написание - дело долгосрочное. Но поскольку этот раздел называется блогом, то, кажется, никто не мешает мне писать о запланированном. В идеале хочу замутить компоненты internet, tunnel и data, позволить юзерам выбирать пути к прошивке виртуального EEPROM и содержимому жесткого диска. Также остается открытым вопрос о лимитировании памяти: я понятия не имею, как это реализовать на LuaJ и ублюдочной Яве без обожаемого sizeof(). Городить костыли в виде JavaAgent + Instrumentation.getObjectSize не хочется, но, видимо, придется. Ну, и если у кого-то имеются занятные предложения по функционалу софтины - буду рад. Сырцы: https://github.com/IgorTimofeev/OpenComputersVM Скриншотик:
  11. Стопудова у тебя включены обои, они жрут чуть ли не четверть имеющейся оперативы. Оффни, если это так. Но вообще странно: только что ябез каких-либо проблем распечатал несколько дефолтных обоин, и память лишь на 74% забилась при наличии двух планок 3.5
  12. Угу, для контроля ядер реакторов из драконика. Сырцов нет, ничего нет, любви нет, только пара скринов
  13. А можно и не парсить вовсе, модемы позволяют отсылать/принимать сетевые пакеты с множеством аргументов: -- Отправка modem.broadcast(port, cmd, cmdX, cmdY) -- Прием local localAddress, remoteAddress, port, distance, cmd, cmdX, cmdY = event.pull("modem_message") Если надо "парсить по пробелам", то уот так уот: local message = "meow 12 -249" for part in message:gmatch("[^%s]+") do print("Кусочек: ", part) end >> Кусочек: meow >> Кусочек: 12 >> Кусочек: -249
  14. local function myYobaPullSignal(...) evt, _, _, _, _, info = computer.pullSignal(...) if evt == "touch" and info == returnuser() or evt == "modem_message" and info == "open" then open() elseif evt == "touch" and info ~= returnuser() then getout() elseif evt == "modem_message" and info == "ping" then modem.broadcast(1, "pong") end end ... local function sleep(timeout) local deadline = computer.uptime() + (timeout or 0) repeat myYobaPullSignal(deadline - computer.uptime()) until computer.uptime() >= deadline end ... while true do myYobaPullSignal() end
  15. ECS

    MineOS

    В маркете появился ВК-клиент местного разлива. Поскольку VK API с недавних пор стало зашибенно удобным в плане уменьшения количества веб-запросов, то болтать с посонами и посонихами можно с комфортом без ожидания загрузки тонны инфы. На данный момент имеются следующие фичи: • Динамическая подгрузка свежего контента при достижении конца имеющегося • Отображение информации профилей • Просмотр списка друзей с имеющимися тегами • Просмотр новостной ленты • Просмотр списка диалогов, истории переписки, отправки сообщений и файлов (к примеру, можно закинуть какой-нибудь скрипт прямо себе на аккаунт) • Индикатор сетевой занятости, чтобы никто ничо там не подумал, мол, "говнософт завис!!1" • Рекурсивное отображение всех медиавложений, репостов и прочей атрибутики • Раздел настроек с кастомизацией количества загружаемой инфы по категориям Планирую сделать поддержку двухфакторной авторизации, раздел документов и скачивание присланных доков. Пока что софтина чуть сыровата, но вполне себе юзабельна. Напоследок немножечко скринов:
×