Форум » » QSP в Linux » Ответить

QSP в Linux

Byte: Скриншоты: (тестируется на Slackware Linux 11, локаль ru_RU.UTF-8)

Ответов - 48, стр: 1 2 3 All

Ntropy: Скрины не видны (404)

Byte: Новые:

BaxZzZz: Наконец, гуд.


Byte: Так давно было :) Просто сейчас наконец-таки написал "нормальные" билд-скрипты

Byte: Пока что выкладываю здесь. Вскоре будет добавлено на сайт.

Byte: Выложил на сайте QSP 5.4.3 для Linux'а (x86).

anonymous: Вопервых спасибо, за поддержку столь интересного жанра, очень рад увидеть это под linux. Да и вообще рад узнать, что есть такой движок, но есть некоторые замечатния и пожелания на тему linux. 1. Нет мызки, и матюгальника в консоль по этому поводу. Манов в ахриве тоже нет(ненашёл), что плохо. 2. Билд скрипты странные, напишите хотябы(вместо того ужоса) wx-config --cflags для компилятора, и wx-config --libs для линковщика. 3. Может быть имеет смысл использовать сборшики, например cmake (он очень прост, могу написать вам скрипт. Почему это говорю? Пересборка проекта у меня происходит ОЧЕНЬ ДОЛГО даже с ccache, 4. Не собирается версия из svn с таким матюгальником: qspgui/src/listbox.cpp: In constructor ‘QSPListBox::QSPListBox(wxWindow*, wxWindowID, ListBoxType)’: qspgui/src/listbox.cpp:53: ошибка: нет декларации ‘SetStandardFonts’ в этой области видимости qspgui/src/listbox.cpp: In member function ‘void QSPListBox::EndItems()’: qspgui/src/listbox.cpp:87: ошибка: нет декларации ‘ScrollToRow’ в этой области видимости qspgui/src/listbox.cpp: In member function ‘void QSPListBox::SetTextFont(const wxFont&)’: qspgui/src/listbox.cpp:118: ошибка: нет декларации ‘SetStandardFonts’ в этой области видимости qspgui/src/animwin.cpp: In member function ‘void QSPAnimWin::RefreshUI()’: qspgui/src/animwin.cpp:34: ошибка: нет декларации ‘IncrementalUpdateBackingStore’ в этой области видимости ну и там ещё многа матюгальника... Почему, не разбирался.

Nex: anonymous разве SVN-версию надо собирать? По-моему, Байт отдельно выкладывал на qsp.su QSP для linux. Простите, если ошибся - сам я собирать ещё не пробовал.

Byte: anonymous, там довольно сложная сборка. 1) после скачивания репозитария wx (svn co http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets), в скрипте qsp/build_wx/linux_x86/update прописываем путь к его директории (WX_PATH), и путь, в котором будет собираться патченный wx (WX_QSP_PATH). 2) запускаем update 3) запускаем qsp/_cleanup_linux_x86 4) в qsp/linux_x86_build прописываем путь к патченному wx (WX_QSP_PATH) 5) запускаем linux_x86_build после сборки получим директорию qsp/_release с собранным qsp. wxWidgets в системе устанавливать не нужно.

Byte: Nex, на сайте выложен архив с собранным QSP, но, видимо, товарищ желает собрать самостоятельно :)

Byte: anonymous пишет: 1. Нет мызки, и матюгальника в консоль по этому поводу. Обычно в системе не проигрывается MIDI - как правило, нужно установить программный wavetable (как - отдельная тема, это общая проблема для Linux). Всё остальное (mp3, ogg, wav...) должно проигрываться нормально. anonymous пишет: 2. Билд скрипты странные, напишите хотябы(вместо того ужоса) wx-config --cflags для компилятора, и wx-config --libs для линковщика. wx в системе не устанавливается.

Byte: QSP for Linux [5.4.3], Скачиваний: 86 (фактически, за 1 день) - радует :-)

vasiliy: глюки. При прокрутке окна с текстом оно автоматически возвращается в начало. В следствие чего использование невозможно.

Byte: vasiliy, скачай интерпретатор заново (было исправлено). этот глюк из-за того, что загруженная игра требует отсутствующий в системе шрифт. вообще, конечно, желательно установить основные шрифты Windows (тот же Courier New, к примеру - его часто используют).

vasiliy: Качать виндовс шрифты? Это не юниксвей ) Круто, что исправили. Теперь можно погамать ) йо.

Byte: Так. Оказалось, что баг не совсем исправлен :/ Вскоре выложу корректную версию.

Byte: Ещё одно обновление от 07.01.2009 (окончательно исправлен баг со шрифтом и ещё один с таймером). Рекомендую обновиться.

ASM: Byte пишет: anonymous, там довольно сложная сборка. 1) после скачивания репозитария wx (svn co http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets), в скрипте qsp/build_wx/linux_x86/update прописываем путь к его директории (WX_PATH), и путь, в котором будет собираться патченный wx (WX_QSP_PATH). Да вы, я посмотрю, экстримал. Инструкцию понял, буду пытаться собрать... (оч долго svn update с wxWidgets происходит...) Byte пишет: anonymous, там довольно сложная сборка. Было бы интересно увидеть эту инструкцию в репозитории в виде build.txt файла ;-) Byte пишет: Обычно в системе не проигрывается MIDI - как правило, нужно установить программный wavetable (как - отдельная тема, это общая проблема для Linux). Всё остальное (mp3, ogg, wav...) должно проигрываться нормально. Почему бы не использовать timidity? Обычно она на всех линуксах есть. Понимаю, что я совсем зажрался, но не плохо бы увидеть ещё ссылку на настройку онного в build.txt файле ;-) ---- Ещё хотел бы спросить на тему жанра игры. (прошу прощения что сдесь, и не по теме) Хотелось бы узнать, с точки зрения морали, в таком жанре принято сохранятся или это критикуется. К примеру в rougelike играх сохранения всячески критикуется. В других обычно наоборот, приветсвуется. В данном жанре, наверное все же имеет смысл уметь сохранять. (уж очень часто можно помиреть из-за невезения). Хотя, возможно, некоторые сюжеты нацелены на прохождение без сохранения(маленькая вероятность умиреть, и очень большое кол-во сюжетных линий). Я это к тому что: 1. Возможно имеет смысл сделать кнопку "отмена хода" 2. Возможность выбрать режим "нормальный", "аморальный режим"(без сохранений, с сохранениями).

Byte: Возможность сохранений может быть задана программно, из кода игры. "Отмена хода" - автор игры может это реализовать (не сложно). Вообще, о какой игре идёт речь? QSP сам по себе - не игра.

Byte: ASM, инструкция по сборке будет в репозитории, конечно :) Чуть позже.

Nex: Скачал, попробовал запустить на своём Linux'е Debian 2.6.18-4-686, KDE 3.5 Выдаёт ошибку: ./qspgui: error while loading shared libraries: libtiff.so.3: cannot open shared object file: No such file or directory

Byte: Nex, распространённый тип ошибки. нужно сделать симлинк с libtiff.so.3 на имеющуюся в системе (например, libtiff.so.4): ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3

Nex: Byte может сделаешь какой-нибудь скрипт для установки, который будет это проверять и прописывать? Теперь ругается на ./qspgui: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./qspgui)

Byte: Nex, видимо, нужно обновить glibc. Подобный скрипт - не выход.. Сейчас, обычно, проблема только с libtiff, да и то не у всех. Универсальный вариант - пересобрать QSP под свою систему, без дополнительных зависимостей.

elmortem: Wine жжот.

Byte: MacOS? Недавно под маки собирали нативный порт...

elmortem: Ага, он самый. И как порт? А-то под эим Вайном проблема с переключением раскладки. Поэтому редактор практически бесполезен. Разве что только в ГАМы конвертить можно с его помощью.

Byte: Собирали порт плеера :) Да нормально, без проблем собиралось (без изменений в коде) - только человек неожиданно куда-то пропал, так и не закончив процесс (возможно, я не в курсе, и кусп уже собран) :)

elmortem: Если там инструкция не хитрая - могу попробовать... Я как раз сейчас плотно на Мак пересаживаюсь.

Byte: Инструкция есть и билд-скрипты :)

fireton: Прочитал тему... Ужас. Сразу вспоминается Основной Принцип Линукса: "Вы можете настроить все! И вы, $#%, будете настраивать ВСЕ!"

Nex: fireton это ж только первая версия. Вспомни, какой была первая версия QSP на винде. Позже, наверное, будет лучше автоматизировано.

elmortem: Хорошё, что на Маках такой проблемы нет. Остаётся только проблема единичной компиляции, а с этим пока проблемы, блин. ):

Nex: Единичной - это как?

elmortem: Откомпилировал один раз и выложил. Там под каждый Мак не нужно перекомпиливать, у них одно ядро и конфа.

rrock.ru: Порадовало следующее: Раздел "Благодарности" теперь называется "Графический дизайн"))

Byte:

Byte: Обновил плеер для Linux (до 5.5.9).

denka: а нельзя ли под х64 собрать?

Byte: Можно :) Нужно только предварительно скачать FMOD для x86_64.

Powerman: В Gentoo Hardened бинарная версия не запускается (из-за GLIBCXX в libstdc++.so.6, т.к. стоит gcc-3.4.6 и обновить на gcc-4 нельзя т.к. gcc-4 пока не поддерживается в Hardened). Из сорцов тоже не собирается: Building qspgui... qspgui/src/listbox.cpp: In member function `void QSPListBox::SetStandardFonts(int, const wxString&, const wxString&)': /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:60: error: within this context qspgui/src/listbox.cpp: In member function `void QSPListBox::SetLinkColor(const wxColour&)': /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:131: error: within this context qspgui/src/listbox.cpp: In member function `const wxColour& QSPListBox::GetLinkColor() const': /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:138: error: within this context qspgui/src/listbox.cpp: In member function `void QSPListBox::CreateHTMLParser() const': /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:143: error: within this context /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:146: error: within this context /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:147: error: within this context /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:148: error: within this context /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:175: error: `wxFileSystem wxHtmlListBox::m_filesystem' is private qspgui/src/listbox.cpp:148: error: within this context /home/powerman/download/qsp_src/wx_qsp/include/wx/htmllbox.h:171: error: `wxHtmlWinParser*wxHtmlListBox::m_htmlParser' is private qspgui/src/listbox.cpp:152: error: within this context qspgui/src/animwin.cpp: In member function `void QSPAnimWin::RefreshUI()': qspgui/src/animwin.cpp:34: error: `IncrementalUpdateBackingStore' was not declared in this scope

Byte: Powerman нужно наложить на wx патч. есть подробная инструкция - qsp/help/linux_x86_build.txt

Powerman: Так делал всё как раз по этой инструкции... Ладно, сейчас попробую всё выкачать и повторить ещё раз.

Zloddey: Увидел статью про программу на Хабре, заинтересовался, решил попробовать собрать порт под FreeBSD. Скачал исходники из svn, начал разбираться. С компиляцией libqsp проблем абсолютно никаких, а вот qspgui... Я посмотрел на эти скрипты, посмотрел на файл wxPatch.diff - и мне стало плохо. Залезать в *разрабатываемые* исходники чужих библиотек - это значит толкать телегу впереди лошади. Эта ошибка чревата большими неприятностями! Чем дальше она будет развиваться, тем больше "хаков" вам придётся добавлять, чтобы сохранять желаемое поведение. Вы будете вгрызаться в код wxWidgets всё глубже и глубже, размер патча будет расти, а совместимость с оригинальными виджетами - падать. Количество проблем при таком подходе будет расти лавинообразно! Кроме того, такой подход лишает вас возможности быть включёнными в репозитории пакетов, потому что вы не используете стандартные библиотеки и стандартные юниксовые методы сборки. Например, у меня уже установлены wxWidgets последней стабильной версии (2.8), под них собрано несколько других программ - но при сборке *вашей* программы я не могу ими воспользоваться! Всё это крайне расстраивает. Насчёт методов сборки. В форуме уже звучал совет использовать CMake. Я имею некоторый опыт работы с этой утилитой и потому присоединяюсь к совету. Это очень удобный кроссплатформенный генератор Makefile-ов и проектов. Он умеет создавать на основе одних и тех же исходников как юниксовые Makefile-ы, так и проекты под Visual Studio (например, именно так я использую его на работе). Если хотите, могу опубликовать/прислать CMakeLists.txt, которые я уже написал для вашего проекта. Хотя CMake, конечно, не будет особо полезен, если вы не откажетесь от пагубной идеи вставлять собственные хаки в wxWidgets :). Изобретать велосипеды бывает интересно, но только до поры до времени. Что будет, если svn-версия wxWidgets изменится настолько сильно, что вам станет слишком сложно вставлять в неё свои исправления? Что вы будете делать со своим проектом (не собирающимся/работающем со странными глюками/подставьте другую проблему)? Чем дальше, тем больше растёт этот риск! Крайне рекомендую перейти на использование wxWidgets-stable и не вносить в них никаких изменений. Честное слово, ребята, вам же самим легче будет! Желаю удачи. Zloddey

Byte: Zloddey без собственных изменений, увы, сейчас никак. Если бы это было возможным - давно было бы так. wxWidgets в проекте используется еще с версии 2.4, примерно 5 лет. Подумайте над этим.

rrock.ru: Zloddey + на трак wxWidgets периодически выкладываются предложения по исправлению, которые разработчики в большинстве своем пропускают.. и как это после патча у тебя другие приложения на wx'е не собираются?

rrock.ru: Powerman это однозначно отсутствие патча на wx...

Byte: Обновил версию на сайте до 5.6.3 Теперь проигрывается MIDI + убрана зависимость от libtiff.



полная версия страницы