Перейти к публикации
Форум - ComputerCraft
  • записи
    2
  • комментариев
    14
  • просмотров
    7 465

Об этом блоге

Написание чего-то сложного, и не очень, самым нубским нубом на планете.

Записи в этом блоге

 

[PafOS] Привет, графон :3

Не думайте, что я буквально за день написал три библиотеки и вполне рабочий проводник. Это не так. Создание PafOS началось еще недели две-три назад, но учитывая мою лень, реально, на создание того, что я сейчас имею было потрачено от силы 4 часа.
Итак:
На данный момент моя супер-пупер никому не нужная графическая оболочка называется test.lua и запускается из консоли, как и все программы. Запуск через init? До всего этого мне еще далеко, как и до превращения граф оболочки в полноценную ОС. Да и плохо я понимаю, что из себя она представляет. Операционная Система эта та для которой все базовые библиотеки написаны отдельно? Или та, которая запускается через BIOS? Лично для меня этот вопрос остается загадкой. Но может кто-то может дать ответ, к которому я в будущем буду стремиться.   Что же я успел сделать за эти недели?
Была слизана создана графическая библиотека. Она основана на двойной буферизации и пока что умеет лишь отображать прямоугольники, картинки и текст, но мне хватает. Быстродействием моя либа похвастать тоже не может, она не анализирует стоящие в ряд одинаковые пиксели и не отображает их разом, но во всяком случае она и не меняет цвет при отображении нового пикселя даже если в системе уже установлен этот цвет. Но я все равно оценю мою либу на суровую двоечку из пяти баллов.     На скрине вы можете увидеть итог моей текущей работы - создание полноценного проводника. Безусловно я не прописывал через gpu.set каждый пиксель моего изображения: для картинок была создана отдельная библиотека. Соответственно есть и отдельный формат изображения - PIF(Pofigist Image Format). Особенность или нет - судить вам, но на один пиксель в моем формате уходит всего 2 байта, а на полупиксель - 1 байт, соответственно. На данный момент я не вижу смысла в использовании символов в формате картинок, но если он и будет реализован - это будет новый формат.
PIF спокойно поддерживает картинку 160x50, чего достаточно для обычных программ. PIF поддерживает прозрачность, но на это уходит какой либо цвет. Если все 256 цветов используются в изображении то будут определенные проблемы, но на данный момент я доволен форматом.   Как можно заметить названия файлов пока что не умещаются и потому написаны далеко не полностью. На данный момент я пока что, скорее всего, просто буду обрезать разрешение, чтобы освободить 4 места для символов.   Вы удивитесь, но кроме того как посмотреть на содержимое текущей папки программа так же позволяет перейти в другую папку или вернуться на шаг назад!!1
  Ву-упс, кажется что-то пошло не так... Если файлов в папке слишком много некоторые из них могут не отображаться. Ну как некоторые... большинство. Причем все контролируется волей рандома и открыв и закрыв папку пару раз можно убедиться, что неотображаемые файлы меняются... Я долго думал над тем, почему так происходит. На ум пришла идея с проблемой функции Draw, которая вырисовывает изображение, но это мысль была ошибочной. Мною был найден небольшой баг... если не закрывать чтение какого-либо файла и потом вновь его открывать для нового чтения файловая система может разозлиться и послать тебя в Эндер мир. На данный же момент проблема уже решена. file:close() победил баг и все отображается так как надо.
  Что же мы в итоге имеем?
Убогие иконки с разрешением 10x10, кривое отображение имен файлов. Невозможность сделать ничего, кроме как открыть папку или уйти на шаг назад; отсутствие объекта той или иной иконки(системно лишь визуально отображается иконка и создается кликабельная область в ее границах(И я считаю это преимуществом)). И... пафосное название недо-операционки PafOS, которая изначально должна была называться PofOS от моего ника, но пафос все же круче   Теперь пара вопросов от нубика:
Какая библиотека java(а лучше С#/C++) позволит мне открыть изображение, прочитать изображение по байтам? И есть ли документация по структуре PNG файла?   P.S. На вопросы можно не отвечать, а просто оставить мнение о моей разработке Прямых рук Вам, Господа.

Pofigist

Pofigist

 

[PafOS] Введение... Ооочень глубокое.

Я такой человек, который просто ненавидит кодить какую-то простую крипню, а сложные мне даются... Не даются обычно. Но я все же решил рискнуть и написать что-то сурьезное... Но что же? Собственных идей у меня как иголок в стоге сена: всего одна, да и ту фиг найдешь. "И что же делать?" - спросил Я одним весенним утром. Раз нет своих идей то будем брать чужие и реализовывать их! Все гениальное - просто! Я решил создать собственную OS. Почему? Ну во-первых: MineOS от ECS круто выглядит. Во-вторых: мне всегда нравятся программы в которых отчетливо виден результат, а не прога в которой 1000 строк кода, а выводит она лишь "Программа запустилась, программа отрубилась".   Теперь к делу. В данном бложике я буду выкладывать свои мысли, по поводу моего осознания Операционной Системы в майнкрафте, а в будущем возможно и что-то еще. Так же тут будут небольшие фотоотчеты о проделанной работе. Код на данный момент выкладывать не собираюсь, так как ненавижу демонстрировать незаконченный продукт.   К делу (x2):   Что в моем понимание OS. Для меня это программа, которая дает пользователю максимальный комфорт от работы с компьютером, и вообще дает возможность работы с ним. В OpenOS я сразу увидел огромный недостаток - отсутствие полноценной графики. Использование консоли даже для перемещения по дисковому пространству - это конечно так по хацкерски, но не слишком удобно. Потому по всему я придумал только сейчас расписал себе небольшой план создания своей ОС:   1. Создание необходимых библиотек. (В первую очередь визуальной)
2. Визуальное перемещение по дисковому пространству.
3. Открытие, перемещение, изменение имени файлов, без использования консольных команд.
4. Создание программ для редактирования файлов.
5. Создание кучи программ для разной крипни.   Следующий пост уже будет по моему первому пункту. А сейчас могу с радостью Вас поздравить с тем, что вы впустую потратили пару минут чтения моих мыслей. Всем приятного кодирования

Pofigist

Pofigist

×