Доступность игр для незрячих

  1. ‹ Older
  2. last year

    peter

    Oct 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    Постепенно работа идет. В принципе, в ветке instead-2.5 уже выделено C ядро, на основе которого можно сделать обрезанный инстед. Если интересно, можно изучать.

    Но путь впереди еще длинный.
    https://github.com/instead-hub/instead/tree/instead-2.5/src/instead

  3. peter

    Dec 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    Вот реализация примитивного консольного instead.
    Игры, не требующие расширений, в нем должны запускаться. По крайней мере кот и tutorial работают. Для игры вводите цифры ссылок. Для использования -- две цифры через запятую.
    Пока все, если у кого-то есть желание разбираться с INSTEAD для встраивания, уже можно это делать.

    https://github.com/instead-hub/instead/tree/instead-2.5/src/tiny

  4. peter

    Dec 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    После незначительных доработок запустились: кайлет, особняк, зеркало... В принципе, забавно :) Экстремальный минимализм :)

    P.S. На данный момент эксперименты с tiny-instead завершаю и возвращаюсь к sdl версии. alastochkin если тема еще интересна, спрашивай, пробуй.

  5. alastochkin

    Dec 2016 User since 2016

    О! Надо же. Очень хорошо, что работа продвинулась. Можете подсказать как мне собрать инстеад-урезанную версию?

  6. alastochkin

    Dec 2016 User since 2016

    Интересует сборка под винду. И еще вопросик - обязательно SDL для tiny или нет?

  7. peter

    Dec 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    SDL не нужен. Как собрать -- придется пока без меня. Речь шла о том, что с меня код, но разработка в Windows не на мне. :) По идее там код готовый для сборки в любой системе. Я пользуюсь mingw и собираю .exe на freebsd. Вряд ли мой опыт будет полезен для сборки проекта не в этой ОС. Что касается самого кода - там стоят ifdef ы для разных ОС, в том числе и Windows. Пробуйте, по мере возникновения проблем я могу что то отвечать. Из зависимостей, только луа и опциональный iconv.

    Да, сам инстед принимает и выдает utf8 строки. Так что с этим в windows тоже надо будет подумать что сделать. Возможно перенастроить iconv.

    P.S. исходный код в ветке instead-2.5. Код "ядра" instead в src/instead. Пример минимального интерпретатора: src/tiny. Просто надо добавить все исходные коды в свою систему сборки и задать пару флажков -D (см Makefile длы Unix)

  8. peter

    Dec 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    Проверил windows сборку. Исправил мелкие проблемы. Вот как производится сборка на FreeBSD полного инстеда. Может быть, поможет?

    function windows()
    {
        # windows build
        cat Makefile.mingw | sed -e 's/MAKE=make/MAKE=gmake/g' -e 's|.*ISCC .*$|ISCC = wine ~/.wine/drive_c/Program\\ Files/Inno\\ Setup\\ 5/ISCC.exe|g' > Makefile.mingw.bsd
        mv Makefile.mingw.bsd Makefile.mingw
        cat Rules.mingw | sed -e 's/i486-mingw32-/i686-pc-mingw32-/g' > Rules.mingw.bsd
        mv Rules.mingw.bsd Rules.mingw
        ./configure-mingw32.sh
        OLD_PATH="$PATH"
        export PATH="/home/peter/Devel/mingw/mingw-cross-env/usr/bin/:$PATH"
        gmake setup -f Makefile.mingw
        export PATH="$OLD_PATH"
    }
    gmake build-bin-data
    windows
  9. peter

    Dec 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    Посмотри Makefile.mingw и Rules.mingw. Это общие. src/tiny/Makefie -- для сборки tiny. Но повторюсь, в случае с tiny там просто несколько .c и .h файлов. Мне кажется проще создать из них проект тем способом, каким ты собираешь свои проекты в win.

  10. alastochkin

    Dec 2016 User since 2016

    Ок, спасибо, peter, буду пытаться. Сейчас проблема в том, что код инстеда полностью POSIX, а я буду собирать в Visual Studio, он не полностью поддерживает стандарт, поэтому придется где-то изгаляться. Mingw не очень подойдет, надо будет через win api окна делать. Вообщем как столкнусь с очередным затыком напишу обязательно.

  11. peter

    Dec 2016 Administrator Земля(Москва) User since 2014
    Edited last year by peter

    Насколько я понимаю из ming можно делать вызовы win32, это не проблема. Насчет posix: malloc, memcpy и прочие должны быть, это стандартная библиотека c. Насчет файловых операций: все они вынесены в util.c и обрамлены ifdef. То есть ты можешь заменить любые подобные вызовы на что хочешь. Инстед вызывает свои функции, а не posix. Я не верю, что собрать инстед для s60 или wince проще, а оно там собирается и даже работает. ;)

  12. peter

    Dec 2016 Administrator Земля(Москва) User since 2014

    Вот конкретно сам tiny -- да, могут быть вопросы. Но там всего 100 строк кода. :)

  13. alastochkin

    Dec 2016 User since 2016

    Я был конкретно неправ. Просто пытался собрать весь инстед, с SDL, когда все поотключал, взял только tiny-зависимости, то собралось без проблем (unistd.h пришлось для студии подсунуть). Вообщем собрал, запустил, подхватил ЛУА и библиотеки. Запустил для tutorial3. Теперь наверное надо через iconv кодировки поправить, как говорил для файлов инстеад, пока вот такой экран:
    -image-
    Можно нажимать цифры, но как правильно происходит навигация по игре?

  14. peter

    Dec 2016 Administrator Земля(Москва) User since 2014

    Считай что все ок. Осталось только iconv перенастроить. Сейчас скажу где:
    instead/instead.c
    Строка 428.
    static char *curcp = "UTF-8";
    Заменить на что то вроде CP1251 или cp1251.
    Но собирать надо с _HAVE_ICONV и собрать iconv надо будет.

    Еще вариант, без _HAVE_ICONV но сконвертить все игры в cp1251.

  15. peter

    Dec 2016 Administrator Земля(Москва) User since 2014

    Навигация по игре может быть осуществлена ТОЛЬКО цифрами или цифра,цифра -- если это use. Естественно в своем интерпретаторе ты можешь сделать как угодно, просто смотри в tiny что он посылает за команды.

  16. alastochkin

    Dec 2016 User since 2016
    Edited last year by alastochkin

    Так, вот такой вариант для оригинальной UTF-8:
    -image-
    После подключения iconv через instead (CP866) у меня "прорезался" не сразу русский:
    -image-
    То есть в выборе языка его нет, а потом после нескольких локаций конвертит.

  17. alastochkin

    Dec 2016 User since 2016

    Вообще, та кодировка не очень удачная, сделал через 1251, результат отличный! Только в начале выбор языка страдает, за то потом все пашет:
    -image-
    Спасибо, peter, дальше я буду думать как надстроить оболочку над tiny. У меня сразу вопросы:

    1. Какие игры будут работать на урезаннорй версии автоматом (из коробки)? Можешь дать список?
    2. Если игра не работает, насколько сложно сделать адаптацию? Надо связываться с автором или можно самому гайки подкрутить?
    3. Звук можно будет добавить в будущем? Хотелось бы чтобы звуковые эффекты из игр работали, я так понимаю это не очень сложно - через возвращение части SDL.
    4. Хотелось бы в эту ветку потом выложить наработочки, типа проекта в Visual Studio, инструкции по сборке и доп файлы. Как это организовать можно?
  18. peter

    Dec 2016 Administrator Земля(Москва) User since 2014

    Насчет 1го вывода в неверной кодировке -- это баг, я его скоро исправлю.

    1. для начала пройди в таком варианте ВОзвращение квантового кота. у меня есть список игр которые заработали внешне, но надо проверять. А кот самый простой из них
    2. можно
    3. все расширения теперь вынесены в спец механизм extensions. Так что и звук и что угодно можно прикручивать сбоку вполне легально. Сейчас там просто заглушки.
    4. после релиза 3.0 лучше это сделать, пока еще идет работа
  19. alastochkin

    Dec 2016 User since 2016

    Ок! Только у меня проблема с котом, так сказать. Я его в графическом режиме не прошел до конца... Где-то застрял с лестницей и башней. Есть какое-нибудь прохождение?

  20. peter

    Dec 2016 Administrator Земля(Москва) User since 2014

    Спрашивай, поможем. :) Вообще надо бы сделать запись прохождений и потом систему регрессионного тестирования.

    P.S. В git исправил ошибку с кодировкой 1го экрана. Изменен файл: /src/instead/instead.c проверишь?

  21. alastochkin

    Dec 2016 User since 2016

    Взял последнюю версию. Нифига, не помогло. На той версии меню квантового кота нормально отображалось, на этой стало крокозябрами, и тюториал тоже крокозябры :(
    Скрин предыдущей версии
    -image-

  22. Newer ›

or Sign Up to reply!