ECS
Гуру-
Публикации
533 -
Зарегистрирован
-
Посещение
-
Победитель дней
203
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя ECS
-
Шикарная прога. Давным-давно делали передатчик двоичного кода по одному проводу на ванильном реде, прям ностальгия за душу взяла.
- 9 комментариев
-
- 1
-
-
Ну так я и говорю: придется вручную делать некую программку, вешающую на _G указанный перечень библиотек. А ведь можно, кстати, через fs.list() получить список файлов в папке с либами и через цикл создавать метаметоды, как указал swg2you выше - это будет куда удобнее. Правда, в этом случае уже не получится сделать кастомное сокращение библиотек (fs = filesystem, rs = redstone, r = robot и т.д.) for file in filesystem.list("lib/") do _G[file] = {} setmetatable([file], {__index = require(file)}) end
-
Отличная идейка, надо будет побаловаться. Только есть поправка: некоторые юникод-символы используют аж до 6 байт информации, проверено неоднократно при создании библиотеки изображений. При записи в файл у нас даже пишется отдельный байт, содержащий размер юникод-символа для корректного чтения. Встречались и по 4, и по 5, а в редких случаях и по 6 байт, так что концепция такого диска очень и очень крута.
-
А, вот ты о чем. Ну да, занятный способ, правда, довольно потно реализуемый: как именно привязывать заглушки к библиотекам? Вручную описывать все существующие функции в библиотеке term? Т.е. делать заглушку для clear(), read(), setCursor() и т.п.?
-
Вот и правильно, библиотек хоть жопой жуй, а игр - раз, два и обчелся. Нужно больше игр!
- 8 ответов
-
- 2
-
-
-
- палитра
- конвертация
-
(и ещё 1 )
Теги:
-
Хочу представить вам большую библиотеку, предназначенную для работы с изображениями, созданными в нашем Фотошопе. С ее помощью можно манипулировать графикой воистину волшебным образом: изображения можно обрезать, расширять, поворачивать, отражать, инвертировать, изменять их яркость, цветовой тон, насыщенность и добавлять фотофильтры. Разрабатывали мы ее примерно год, содержит она более 1000 строк кода и удовлетворяет практически всем наши требованиям к хорошей графике в OpenComputers, если, конечно, местную графику вообще можно назвать хорошей. Начало работы Прежде всего вам потребуются два файла. Первый обеспечивает основные операции над цветом, позволяет конвертировать цвета из одной схемы в другую, а также сжимать цвета без потери качества. Второй же является самой библиотекой image и дает нам полную свободу творчества. wget https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/lib/colorlib.lua lib/colorlib.lua -f wget https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/lib/image.lua lib/image.lua -f После загрузки библиотек вы можете подключить image и начинать с ней работать. Далее мы рассмотрим различные методы, с помощью которых мы сможем манипулировать изображениями. Под описанием каждого метода будет картинка и код, демонстрирующие суть работы метода, так что проблем с пониманием возникнуть не должно. local image = require("image") Структура изображений (для общего развития) Методы работы с файлами изображений (загрузка, отрисовка, сохранение) Методы трансформирования изображений (вращение, отражение, обрезание и т.п.) Методы работы с цветом (яркость, насыщенность, тон и т.п.)
-
Полностью переделан формат .pic, в среднем объем файлов на диске сократился в 3 раза. Добавлены 4 метода кодирования: raw, OCIF1, OCIF2, OCIF3, создающие совершенно разную структуру файлов.
-
Для этого у нас имеется либа image, где реализовано все, что только душе угодно. Там тебе и яркость, и контрастность, и насыщенность, и цветовой тон, и повороты-отражения, и инверсия. ColorLib же нужна именно для базовых операций над цветом, т.е. это основа для более крутых и потных вещей, таких как image. Надо будет, кстати, расписать ее у вас на форуме, полезная штука.
- 8 ответов
-
- палитра
- конвертация
-
(и ещё 1 )
Теги:
-
-1 и +1 необходимы для наших файловых форматов. Вчера писали новый формат изображения, для записи в файл требуются корректные индексы. А если добавлять [0] в тот массив, то увеличится размер скачиваемого файла, поэтому мы не стали париться и сделали -1 +1, так проще и удобнее.
- 8 ответов
-
- палитра
- конвертация
-
(и ещё 1 )
Теги:
-
Хочу поделиться с вами крайне полезной в быту библитекой, которую мы с товарищами используем повсеместно. Она позволяет работать с несколькими цветовыми моделями: стандартной RGB, более современной HSB, преобразовывать их в HEX-цвет для OpenComputers и наоборот. Кроме того, она позволяет сжимать 24-битный цвет вида 0xFFFFFF до 8-битного вида 0xFF без потери качества. Команда для загрузки: wget https://raw.githubusercontent.com/IgorTimofeev/OpenComputers/master/lib/colorlib.lua lib/colorlib.lua -f Методы
- 8 ответов
-
- 7
-
-
-
- палитра
- конвертация
-
(и ещё 1 )
Теги:
-
Давно так делал, через init.lua происходило добавление. Правда, в таких случаях в память может грузануться крайне прожорливая либа, которую ты в данном контексте даже использовать не собираешься (например, двойной буфер требует 200 кбайт оперативки), а это в некоторых ситуациях критично. В конце концов немного переосмыслил ситуацию и подгружаю библиотеки во все то же _G пространство через такой вот незамысловатый цикл: -- Адаптивная загрузка необходимых библиотек и компонентов local libraries = { ecs = "ECSAPI", component = "component", event = "event", term = "term", config = "config", context = "context", buffer = "doubleBuffering", image = "image", SHA2 = "SHA2", } local components = { gpu = "gpu", } for library in pairs(libraries) do if not _G[library] then _G[library] = loadfile(libraries[library])() end end for comp in pairs(components) do if not _G[comp] then _G[comp] = _G.component[components[comp]] end end libraries, components = nil, nil
-
Впервые узнал об этой штуке, на официальной вики ни слова, пруф ниже. Спасибо, короче)
-
Важно! Если что-то "на самом деле" является полигонами в кубаче, то это что-то также будет являться полигонами во всех дочерних производных кубача (в нашем случае в голопроекторе), так что нечего путать термины. А если уж путаешь, то нечего поправлять тех, кто не путает
- 25 ответов
-
В майначе используется именно полигнальный алгоритм рендеринга, основанный на псевдовокселях - обычных объектах типа "куб", создающихся из трехмерной карты мира. Кроме того, можанговцы не стали добавлять системы октодрев или гриди-мешинга, чтобы хоть как-то уменьшить количество этих самых объектов, так что именно по этим двум причинам майн такой прожорливый в плане компьютерных ресурсов. В общем, это не воксели.
- 25 ответов
-
Накодил я тут небольшую утилиту, упаковывающую содержимое указанной папки в один целиковый файл. Бывает, лень загружать тонны всякой мелочи через Pastebin или GitHub, поэтому куда проще сделать это через систему архивации. Команда для загрузки: pastebin run KQ4tmLXy Инструкция по использованию: Чтобы упаковать файлы в архив, вводите в консоль команду archive pack <название архива> <архивируемая папка>. Содержимое папки будет склеено, и будет создан новый архив с указанным именем. Чтобы распаковать существующий архив, вводите команду archive unpack <путь к архиву> <папка для разархивации>. Содержимое архива будет распаковано в указанную папку. Чтобы загрузить через интернет существующий архив и распаковать его, используйте archive download <URL> <папка для разархивации>. Чтобы избавиться от "спама" в консоль, запускайте программу с аргументом -q, например, archive pack Test.pkg usr/man -q.
-
Да в этой елке полигонов больше, чем в модельке M4A1 из Black Ops 3!
- 25 ответов
-
- 1
-
-
Ну, лично мне - для анализа PNG-файлов. На днях вон хотел переписать свою библиотеку для работы с PNG, а то старая совсем уж быдлокодерская, но для сверки верности прочитанных байт мне требуется HEX-редактор. Да и вообще, тут скорее дело принципа: если можем накодить, значит, кодим!
-
В общем, понадобилось мне открывать файлы в шестнадцатеричном режиме, для чего был скачан соответствующий редактор. Но он оказался платным, а платить я не люблю, поэтому решил накодить свою собственную программу, чтобы не стать жертвой капитализма. Она имеет весь необходимый функционал: редактирование байт/символов, вставка/удаление байт, наглядное отображение содержимого файла. За графическую основу взята библиотека двойной буферизации, так что работа в редакторе будет быстрой и приятной. Команда для загрузки: pastebin run HVruUG2U Использование программы:
-
А ничем по сути. Я по глубоким форумным темам редко хожу, так что получился один и тот же функционал в разных обертках - у меня, правда, можно еще изображения рисовать, созданные в нашем ФШ, используя тег image. Сейчас добавлю в описание прожки, штука все же нужная. Насчет упоминания левого сервера - без проблем, сменил пикчу темы на более нейтральную. Хотя по факту реклама - это последнее, о чем я буду думать при выкладывании софтинки на любой форум, весь текст про приват и серверные правила я привел исключительно ради примера и демонстрации возможностей скрипта
-
На неделе мы решили создать небольшой сервер "для своих", и у нас резко возникла необходимость в наглядном отображении серверных правил на спавне. А поскольку использовать деревянные таблички - это пещерный век и вообще не комильфо, я накодил вот такую вот программу. Команда для загрузки: pastebin run JJgpkXBi Принцип ее работы проще пареной репы: вы закидываете в папку MineOS/System/InfoPanel текстовые файлы, программа отображает их в списке слева в алфавитном порядке, а при выборе конкретного файла читает его, выводя содержимое на экран. Чтобы немного разнообразить унылую одноцветную информацию, я сделал поддержку XML-разметки. Тег <color>Цвет</color> Данный тег изменит текущий цвет текста GPU и позволит рисовать такие вот цветные надписи: Тег <image>Путь к картинке</image> Этот тег нарисует изображение, созданное в нашем Фотошопе. В самой программе вы можете изменить некоторые параметры отображения информации - к примеру, масштаб экрана, количество прокручиваемых строк при нажатии стрелок или цветовую палитру интерфейса. Выход из программы осуществляется по клавише Enter.
-
Ага, так еще лучше. Циклы сосут.
