No i stało się. Pomysł porzucenia software'owego rysowania grafiki przy pomocy biblioteki SDL na rzecz OpenGLa, z dyskusji na forum Wesnoth przeszedł w rzeczywistość pod postacią utworzonej przed chwilą osobnej gałęzi rozwojowej wesnoth-gl. Nie oznacza to bynajmniej, że gra nabędzie trzeciego wymiaru - zmiana została podyktowana praktycznie wyłącznie problemami wydajnościowymi, które są utrapieniem SDLa, a dokładniej rzecz biorąc jego zazwyczaj nieakcelerowanych backendów 2D. Co prawda zamiana ta może spowodować, że na starszych komputerach lub na tych ze źle obsługiwanym sprzętem do akceleracji 3D Wesnoth przestanie działać w ogóle, ale w znakomitej większości przypadków spodziewamy się wyraźnej poprawy płynności interfejsu.
2006-12-02 05:24:15
Edytuj
Integracja (i małe rozszerzenie) testowego kodu emulującego mysz przy pomocy joysticka/klawiatury z kodem Battle for Wesnoth poszła szybko i sprawnie. Dzięki temu grę na GP2X daje się już obsługiwać! Prawie. Ktoś niesprytnie użył osobnej pętli zdarzeń do obsługi (zamykania) dialogów w trakcie gry i niestety nie da się przebrnąć przez pierwszy z nich, ale to już tylko kwestia małej poprawki. Jak na początek - jest dobrze!
Oprócz tego dodałem możliwość wymuszenia na grze, by uznała cache plików konfiguracyjnych za poprawny, bez względu na wynik liczenia sum kontrolnych lub znaczników czasowych. Co prawda powoduje to, że zmiana danych nie zostanie odzwierciedlona w grze (możliwe, że nawet wprowadzi jakieś błędy), ale czterokrotna redukcja czasu uruchamiania była tego warta. Zresztą i tak prawie nikt samodzielnie konfiguracji nie modyfikuje.
Nowy kod dostępny jest rzecz jasna w gałęzi rozwojowej.
2006-09-17 12:58:43
Edytuj
Wczoraj wieczorem usiadłem na chwilkę do Wesnoth i po krótkim boju z kompilacją biblioteki SDL_net na moją ARMową maszynkę oraz małych poprawkach w konfiguracji autoconfa udało mi się skompilować grę na GP2X:
grzywacz@stealth bin% file wesnoth
wesnoth: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, statically linked, stripped
Statycznie zlinkowany program ma 7.2MB i... uruchamia się! Zdjęcie zamieszczę przy okazji. Do rozwiązania mam teraz kilka problemów:
- Emulacja myszki przy pomocy joysticka (kod koncepcyjny już jest, muszę go zintegrować z grą)
- Kompilacja biblioteki SDL_mixer tak, by nie segfaultowała w funkcji Mix_OpenAudio()
- Opcja wyłączenia automatycznej weryfikacji i budowy cache'u plików konfiguracyjnych gry
Zmierzę się z nimi w najbliższej wolnej chwili.
2006-09-15 13:40:12
Edytuj