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

Bs0Dd

Пользователи
  • Публикации

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

  • Посещение

  • Победитель дней

    44

Сообщения, опубликованные пользователем Bs0Dd


  1. В библиотеке всплыл довольно нехороший ахтунг касательно прямоугольников

    По идее, если координата X прямоугольника будет уменьшаться или увеличиваться, то сам прямоугольник рано или поздно "уедет" за экран и исчезнет, что мы и наблюдаем при отрисовке обычного прямоугольника (drawRectangle).

    Однако, почему-то при рисовании полупиксельного прямоугольника (drawSemiPixelRectangle) он вовсе не исчезает, а выезжает с другого конца экрана, при этом с уменьшением или увеличением координаты Y. Так происходит до тех пор, пока они не уедут за пределы экрана сверху или снизу

    С полупиксельными линиями или кругами такого не происходит.

     

    cWwhL6v.gif

     

    Программа, используемая на демонстрации:

    Скрытый текст
    
    local db = require('doubleBuffering')
    local gpu = require('component').gpu
    local kb = require('keyboard')
    local tr = require('term')
    
    tr.clear()
    local scroll = 150
    local scroll2 = 4
    
    gpu.setForeground(0xFFFFFF)
    gpu.setBackground(0x000000)
    gpu.set(2, 40, 'Press CTRL to reset X coordinates , SHIFT to exit')
    gpu.set(2, 42, 'X1 (Y&R Rect) coordinate is: ')
    gpu.set(2, 43, 'X2 (G&B Rect) coordinate is: ')
    gpu.set(2, 44, 'Red and Blue - Normal rectangle')
    gpu.set(2, 45, 'Yellow and Green - Semi pixel rectangle')
    
    while true do
    	if kb.isControlDown() then scroll = 150 scroll2 = 4
    	elseif kb.isShiftDown() then tr.clear() return end
    	db.clear(0)
    	db.drawSemiPixelRectangle(scroll2, 10, 8, 8, 0xFFFF00)
    	db.drawRectangle(scroll2, 10, 8, 4, 0xFF0000, 0, ' ')
    	db.drawSemiPixelRectangle(scroll, 28, 8, 8, 0x00FF00)
    	db.drawRectangle(scroll, 19, 8, 4, 0x00FFFF, 0, ' ')
    	db.drawChanges()
    	gpu.setForeground(0xFFFFFF)
    	gpu.setBackground(0x000000)
    	gpu.fill(31, 42, 160, 2, ' ')
    	gpu.set(31, 42, tostring(scroll))
    	gpu.set(31, 43, tostring(scroll2))
    	os.sleep()
    	scroll = scroll - 1
    	scroll2 = scroll2 + 1
    end

     

     


  2. Хах, г-дин @Totoro не упомянул главный аспект браузера, что я показывал

    Да он может работать либо по специальной локальной сети внутри мира либо по HTTP(S), НО

    Браузер делается НЕ ПОД СТАНДАРТ HTML, т.е. смотреть на нем обычный интернет не выйдет

    Еще в начале возни со всем этим я понял, что HTML просто не осилю и будет история как с Арбузером

    Поэтому он будет просматривать спец страницы формата NFP (Network Formatted Page), которые сильно упрощены в синтаксисе

    Впринципе, в будущем можно будет сделать мост, на ходу делающий NFP из HTML и передающий его браузеру, но стандарт еще не закончен, как и браузер.

    Сейчас помимо текста, есть гиперссылки, возможность качать файлы (сыроватая) и поддержка OCIF картинок

    Отрисовка на DoubleBuffering-е, поэтому в целом браузер не слишком прожорлив (после открытия страницы с тремя немаленькими картинками свободно 1мб из 2), но лучше иметь не меньше 1.5мб

    На данный момент надо немного переделать код (кое-где стоят грубые костыли) и добавить еще функционала в формат (можете предлагать)

     

    Сам браузер пока выглядит так:

    fGg1ElZ.png

     

    Код страницы на экране вот так:

    ZYPcSQX.png

     

    Не знаю, оценит ли кто такой "DarkNet" для OC, но почему бы и нет)))

    • Нравится 7

  3. Можно сделать иначе

    local install
    
    io.write('Install program? [Y/n] ')
    local work = true
    while work do
      local ans = io.read():sub(1,1):lower()
      if ans =='y' then
        install = true
        work = false
      elseif ans =='n' then
        install = false
        work = false
      end
    end
      
    if install then
      --производим установку
    else
      --можем сделать что-то другое
    end

    Тогда инсталлер будет ждать ответа, пока не получит четкое y или n

    • Нравится 1
    • Одобряю 1

  4. 2 минуты назад, Asior сказал:

    Придется допиливать функционал тебе, не очень много допилить, всего то превратить паровоз в самолет при помощи напильника.

    Да, накуралесил он тут

    Собрал сейчас два реактора для теста, буду переделывать его фиксированную таблицу

    Заодно потом может сваяю инструкцию по подключению этого чуда, вроде разобрался,  как оно тут устроено


  5. В 22.07.2016 в 21:51, LeshaInc сказал:

    Скачать: pastebin get UPcwLA9ep /bin/ftp.lua

    Неужели никто за столько времени не заметил опечатку в ссылке, в конце лишняя 'p' стоит, из-за чего клиент не грузится

    Должно быть pastebin get UPcwLA9e /bin/ftp.lua


  6. 3 минуты назад, OpenReactor сказал:

    То что файл на OpenComputer)

    Ты наверно не правильно понял? Я забыл написать в теме(.

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

    Либо, если есть выгрузка по фтп, можно употребить фтп клиент от LeshaInc

     


  7. Openfetch 1.4

    • По просьбам трудящихся программа теперь функционирует и в MineOS

    В MineOS Openfetch запускается в полноэкранном режиме и выключается при нажатии любой клавиши.

    Да, в отдельном окне оно выглядело бы прикольнее, но так код меньше "заговнен"))).

    5yMKitp.png

    • Нравится 2
    • Одобряю 1

  8. Openfetch 1.3

    • Возвращена система тиров, теперь работает корректно везде
    • У APU процессоров убрана надпись "(Builtin Graphics)", ибо колонка "APU:" и так это подразумевает

    Не знаю, что у вас не так, но у меня в Оцелоте на Plan9k все работает

    S5TXTVY.png  Qu5hTHM.png

     

    • Нравится 3
    • В шоке 1

  9. 1 минуту назад, vford сказал:

    Прикольно, прямо палитра ZX Spectrum (правда вместо серого должен быть также черный). А так перенесена утилитка довольно точно, с учётом особенностей OpenComputers.

    В общем, мой тебе ничего не значащий респект.

    В оригинальном неофетче именно серый цвет))

    V8Yv7B6.png

     

    15 минут назад, _ethernalsteve сказал:

    Нашёл бЕдЫ с совместимостью

    Plan9k сама по себе довольно баганая и глюкавая, там проблемы с цветом при печати в io.write

    Поэтому пришлось заменить его на низкоуровневое gpu.set, ибо при отправке напрямую в видеокарту все норм


  10. Однако, хоть программа и может детектить Plan9k, она в нем не работает(((

    cr85XgC.png

     

    В общем я поправил эту ошибку, и еще кое чего, для работы как в среде OpenOS так и в Plan9k

    SnGheLe.png  wBFLx2c.png

     

    • Нравится 3

  11. Обновление: Версия 1.2b

     

    Исправления:

    • При заполнении строки ввода курсор вылезал за ее пределы (до/после).

               iLBe95v.png  oVnr762.png

    • Добавлена проверка, не пытаемся ли мы копировать/переместить файл в никуда (пустая строка).

              WBS7NPj.png

    • Исправлен инсталлятор: он падал при запуске с ЧБ монитором/картой (до/после).

              3H9obTp.png  FeuM0iU.png

    • Нравится 3

  12. Приношу извинения за #403 по ссылкам

    Похоже пастебину не понравилась base64 строка, и он за "спам" прикрыл сам паст

     

    Попробовал перевыложить, пост даже не показывается в списке общих пастов

    Видимо придется кидать ссылку на биосы с гитхаба и качать wget-ом(((

     

    --------

    Выложил ссылки на GitHub

     

    -----------

    Пастебин, видимо, после ручной модерации, все же сделал пасты пуличными. Ссылки добавил.


  13. В 11.01.2021 в 08:04, Taruu сказал:

    Ну зато система будет монолитом. И хакнуть не получится.

     

    Итак, добавил EEPROM версию, упакованную bpacker-ом (с base64 модификацией, дабы можно было выгрузить на пастебин)

    Настройки хранятся в deflated виде (раз уж все равно нужна карта данных, да и считать пароль напрямую так будет сложнее) в секторе данных самой EEPROM.

    Так что жесткий диск теперь не нужен:)

    • Нравится 1

  14. 6 часов назад, Skalar сказал:

    Всё сделал по инструкции, только при включении робота он издаёт несколько писков и ничего не происходит

    А что он выводит на экран?

    Может вы в робота положили пустой EEPROM, без Lua BIOS?

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