Не могу собрать последний trunk
Tue, 2008-01-15 13:40
Игра мне очень понравилась, и я решил посмотреть последнюю доступную версию.
Скачал исходные тексты.
Поставил все пакеты. libsdl1.2-dev и прочее, cmake . проходит хорошо и ошибок нет, но если я делаю make получается
/hw/hedgewars/QTfrontend/SDLs.cpp:21:17: error: SDL.h: Нет такого файла или каталога /hw/hedgewars/QTfrontend/SDLs.cpp: In constructor ‘SDLInteraction::SDLInteraction()’: /hw/hedgewars/QTfrontend/SDLs.cpp:25: error: ‘SDL_INIT_VIDEO’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp:25: error: ‘SDL_Init’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp: In destructor ‘virtual SDLInteraction::~SDLInteraction()’: /hw/hedgewars/QTfrontend/SDLs.cpp:30: error: ‘SDL_Quit’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp: In member function ‘QStringList SDLInteraction::getResolutions() const’: /hw/hedgewars/QTfrontend/SDLs.cpp:37: error: ‘SDL_Rect’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp:37: error: ‘modes’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp:39: error: ‘SDL_FULLSCREEN’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp:39: error: ‘SDL_HWSURFACE’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp:39: error: ‘SDL_ListModes’ was not declared in this scope /hw/hedgewars/QTfrontend/SDLs.cpp:41: error: expected primary-expression before ‘)’ token /hw/hedgewars/QTfrontend/SDLs.cpp:41: error: expected `)' before numeric constant /hw/hedgewars/QTfrontend/SDLs.cpp:44: error: expected `)' before ‘else’ make[2]: *** [QTfrontend/CMakeFiles/hedgewars.dir/SDLs.o] Ошибка 1 make[1]: *** [QTfrontend/CMakeFiles/hedgewars.dir/all] Ошибка 2 make: *** [all] Ошибка 2
где ошибка?
Гм... довольно любопытно... какая ОС, какая версия?
Debian lenny
Вот что проинсталлировано:
i A libsdl-gfx1.2-4 - drawing and graphical effects extension fo
i libsdl-gfx1.2-dev - development files for SDL_gfx
i A libsdl-image1.2 - image loading library for Simple DirectMed
i libsdl-image1.2-dev - development files for SDL 1.2 image loadin
i A libsdl-mixer1.2 - mixer library for Simple DirectMedia Layer
i libsdl-mixer1.2-dev - development files for SDL1.2 mixer library
i A libsdl-net1.2 - network library for Simple DirectMedia Lay
i libsdl-net1.2-dev - Development files for SDL network library
i libsdl-pango-dev - text rendering with Pango in SDL applicati
i A libsdl-pango1 - text rendering with Pango in SDL applicati
i libsdl-sge - extension of graphic functions for the SDL
i libsdl-sge-dev - development files for libsdl-sge
i A libsdl-ttf2.0-0 - ttf library for Simple DirectMedia Layer w
i libsdl-ttf2.0-dev - development files for SDL ttf library (ver
i A libsdl1.2-dev - Simple DirectMedia Layer development files
i A libsdl1.2debian - Simple DirectMedia Layer
i libsdl1.2debian-all - Simple DirectMedia Layer (with all availab
Я смогу потом удалить поставленное из исходников командой make uninstall?
Вроде понял в чём дело, вечером поправлю
Удалить поставленное из исходников командой make uninstall не получится, но можно как вариант проинсталлировать игру в какой-нибудь временный каталог, указав prefix (и datadir) при запуске cmake и, как второй вариант - сгенерить собственный deb пакет и удалять уже его.
Скомпилировалось теперь. Пытаюсь разобрать код, но плохо разбирается код в котором нет ниодной строчки комментариев
Жаль что нельзя make uninstall но зато она ставится всего в две директории и их легко удалить.
Может подсказать что-нибудь? Хочешь что-нибудь конкретное сделать или просто интересуешься? Какая именно часть тебя интересует: фронтенд или движок?
>>Может подсказать что-нибудь?
Да, мне интересно где расположено изменение ландшафта при взрыве.
>Хочешь что-нибудь конкретное сделать или просто интересуешься?
Да я хочу узнать почему игра так жутко тормозит на Celeron 300 256Mb причём WWP летает на P1 32Mb
>>Какая именно часть тебя интересует: фронтенд или движок?
Движок
гм... ещё недавно она летала на Cel433.... может проблема связана с видеоадаптером? Хотя последние версии я не тестировал на таком компе...
WWP летает по причине того, что работает в 256цветном режиме
Рисование дырок в ландшафте uLandGraphics.pas, функция DrawExplosion
Если игра "подвисает" в момент рисования дырок, то это скорее всего связано с необходимостью перемещения поверхности рисования из видеопамяти в обычную и обратно...
P.S. только что проверил готовящиеся к релизу бинарники под виндой на машине Cel-466, 128 ОЗУ, 16битный цвет, 640х480 в оконном режиме. От 30 фпс и выше (зависит от видимых объектов). Вполне играбельно
Ubuntu 7.10 Celeron 300 256Mb GF4MX 400 (драйвера 9x.xx)
Игра не подвисает просто 11-12 fps стабильно, если что-то рендерится. 640х480 на счёт цветности уверен, что в xorg установлено 24bit
Это не мой комп.
Гм... видимо, процессор является узким местом в данном случае, хотя можно попробовать 16битный режим. Если будет по-прежнему 10-12 фпс, значит действительно так и есть.