MorphOS.pl – Polska strona użytkowników MorphOS-a
MorphOS.pl – Polska strona użytkowników MorphOS-a

Fortis 1.227 czerwca 2011

Ekipa Encore Games wydała nową wersję gry Fortis. W wersji 1.2 tej wciągającej strzelanki dodano możliwość gry joystickiem podłączonym przez USB, zmniejszono apetyt gry na moc procesora (zwłaszcza na mocniejszych maszynach, powyżej 800 MHz, gra nie obciąża już procesora w 100%), oraz dodano tzw. „funkcję szefa”, czyli szybkie wyjście z gry kombinacją klawiszy CTRL+Q. Gra Fortis dostępna jest oprócz MorphOS-a na urządzenia Apple z systemem iOS (iPhone, iPad), MacOS X i Windowsa. MorphOS-owe archiwum gry pobrać można ze strony producenta.

Zamieszczone przez: admin, 14 komentarzy

Komentarze:

  • AvatarMDW

    Dwie uwagi…

    Wszystkim, którzy nie mają procesora G4 polecam wstrzymać się ze ściąganiem, bo aplikacja nie odpali się na ich maszynach. Zawiniła nieświadomość autora. Poprawiona wersja pojawi się tak szybko jak to będzie możliwe. Za problemy przepraszam, zupełnie nie byłem ich świadomy.

    Druga sprawa jest przyjemniejsza. Wersja 1.2 pojawiła się na razie tylko na MorphOS. Na MacOSX będzie jak Apple zakończy review, na Windows albo będzie albo nie będzie (hehe), a na iOS nie będzie, bo zmiany zupełnie na nią nie wpływają.

  • Avatarkrashan
    Wszystkim, którzy nie mają procesora G4 polecam wstrzymać się ze ściąganiem, bo aplikacja nie odpali się na ich maszynach. Zawiniła nieświadomość autora. Poprawiona wersja pojawi się tak szybko jak to będzie możliwe. Za problemy przepraszam, zupełnie nie byłem ich świadomy.

    Nie jestem do końca przekonany, że to problem AltiVeca. Muszę odpalić na Efice i sam zobaczyć co tak naprawdę wypluwa system przy wywrotce.

  • AvatarMDW
    Nie jestem do końca przekonany, że to problem AltiVeca. Muszę odpalić na Efice i sam zobaczyć co tak naprawdę wypluwa system przy wywrotce.

    Gdybyś mógł odpalić to na Efice to byłoby świetnie. Takiego testera ze świeczką szukać. 🙂

    Ja tam nic kluczowego nie zmieniałem, nie dodawałem żadnych bibliotek. To tylko zmiany w logice. No i teraz używam MOS SDK 2.0, a wcześniej ciągle 1.0.

  • Avatarkrashan
    Nie jestem do końca przekonany, że to problem AltiVeca. Muszę odpalić na Efice i sam zobaczyć co tak naprawdę wypluwa system przy wywrotce.

    Gdybyś mógł odpalić to na Efice to byłoby świetnie. Takiego testera ze świeczką szukać. 🙂

    No to już co nieco wiadomo. Faktycznie Fortis wykrzacza się na rozkazie AltiVec-a. Dokładnie jest to stvx v20,r12,r0 pod offsetem $000feb14. Ponieważ zapomniałeś zestripować binarki , mogłem poprowadzić śledztwo dalej. Instrukcja ta znajduje się w funkcji savev20(). Ta funkcja jest na 100% dodawana przez kompilator i pochodzi z biblioteki standardowej (w GCC 4 jest ona wbudowana i kompilator nie emituje symbolu). Wołana jest z funkcji vn_FUiRC9nothrow_t(), a ta z kolei z initJoystickSubsystem_Fv(). Wniosek jest taki, że z jakiegoś powodu Fortis został zlinkowany z AltiVec-ową wersją biblioteki standardowej C++ (libstdc++.a). Albo jest to błąd w SDK, albo jakieś błędne opcje kompilatora w makefile.

  • AvatarMDW

    Hohoho, jakie zaangażowanie w rozwiązanie problemu. Jestem naprawdę bardzo, baaaaaardzo wdzięczny. 🙂

    a ta z kolei z initJoystickSubsystem_Fv()

    Czyli dodanie obsługi joysticka z niewiadomych przyczyn spowodowało coś takiego. Wcześniej nie było inicjalizacji joysticka i było ok. 🙂 Dlaczego moduł SDL odpowiadający za joystick domyślnie używa AltiVec? Z moim doświadczeniem w temacie na pewno na to pytanie nie odpowiem, hehe.

    Ja spróbowałem skompilować w GCC 4.4.4 z "-mno-altivec" i teraz bez AltiVec (wyłączylem w OpenFirmware) działa. W GCC 2.95.3 "-mno-altivec" jest "invalid option". Mogę używać GCC 4.4.4 ale ciekawy jestem jak wobec tego wyłączyć AltiVec w GCC 2.95.3?

  • Avatarkrashan
    Czyli dodanie obsługi joysticka z niewiadomych przyczyn spowodowało coś takiego. Wcześniej nie było inicjalizacji joysticka i było ok. 🙂 Dlaczego moduł SDL odpowiadający za joystick domyślnie używa AltiVec? Z moim doświadczeniem w temacie na pewno na to pytanie nie odpowiem, hehe.

    Nie, to nie to. Podejrzewam, że akurat ta nieszczęsna inicjalizacja joysticka jako pierwsza w kodzie wywołuje problematyczną funkcję, prawdopodobnie jakiś operator new z nothrow. Najbardziej skłaniam się ku opinii, że to jakieś niedobrane opcje w makefile. Chętnie bym rzucił w to makefile okiem.

  • AvatarMDW
    Nie, to nie to. Podejrzewam, że akurat ta nieszczęsna inicjalizacja joysticka jako pierwsza w kodzie wywołuje problematyczną funkcję, prawdopodobnie jakiś operator new z nothrow. Najbardziej skłaniam się ku opinii, że to jakieś niedobrane opcje w makefile. Chętnie bym rzucił w to makefile okiem.

    Zaraz makefile poleci na maila. A z tym new(std::nothrow) to trafiłeś. Faktycznie jest tam coś takiego. Normalnie detektyw. 🙂 Columbo kilka dni temu zmarł ale Ty godnie kontynuujesz Jego dzieło. 🙂

  • AvatarMDW

    Dzięki sugestiom m. in. Faba, Rzookola i przede wszystkim sporej pomocy Krashana udało się znaleźć przyczynę problemów tej wersji na maszynach z procesorami bez AltiVec. Wersja, którą przed chwilą wrzuciłem na stronę powinna już chodzić bez AltiVec więc wszyscy użytkownicy Efik i Pegasosów G3 mogą mieć wątpliwą przyjemność spróbowania nowej wersji. 🙂

    Zapraszam do ściągania poprawionej wersji Fortis 1.2 stąd. Zapomnijcie o tym, że wersja sprzed dwóch dni istniała. 🙂

  • Avatarrecedent

    Potwierdzam, że Fortisa 1.2 daje się bez większych problemów przejść (poza tym, że trochę wyszedłem z wprawy, więc tym razem nie poprawiłem rekordu).

  • AvatarMDW
    Potwierdzam, że Fortisa 1.2 daje się bez większych problemów przejść (poza tym, że trochę wyszedłem z wprawy, więc tym razem nie poprawiłem rekordu).

    Jak? Powiedz jak? No kurcze, ja jak przeszedłem połowę i to wszystko. 🙂 I weź tu rób grę pod siebie… 🙂

  • Avatarkrashan
    Potwierdzam, że Fortisa 1.2 daje się bez większych problemów przejść (poza tym, że trochę wyszedłem z wprawy, więc tym razem nie poprawiłem rekordu).

    Jak? Powiedz jak?

    No jak to jak, przecież trzeba chuchnąć w lewy górny róg ekranu, potem lewą ręką wpisać na klawiaturze "mdwkrolemsceny" i wcisnąć 6 razy backspace. I masz nieśmiertelność .

  • AvatarMDW
    Potwierdzam, że Fortisa 1.2 daje się bez większych problemów przejść (poza tym, że trochę wyszedłem z wprawy, więc tym razem nie poprawiłem rekordu).

    Jak? Powiedz jak?

    No jak to jak, przecież trzeba chuchnąć w lewy górny róg ekranu, potem lewą ręką wpisać na klawiaturze "mdwkrolemsceny" i wcisnąć 6 razy backspace. I masz nieśmiertelność .

    Hehehe. Wszystko się zgadza poza wpisywanym tekstem. Tam trzeba wpisać "mdwlamer".

  • Avatarrecedent
    Jak? Powiedz jak? No kurcze, ja jak przeszedłem połowę i to wszystko. 🙂 I weź tu rób grę pod siebie… 🙂

    Po pierwsze: Na początku inwestujemy w działko, a za resztę rozwijamy rakiety. Przy odrobinie wprawy da się samym działkiem przejść pierwszy akt.

    Po drugie: Zwracamy baczną uwagę na schematy pojawiania się przeciwników (zawsze pojawiają się tak samo, da się wyuczyć gdzie się ustawiać i strzelać).

    Po trzecie: W drugim, a szczególnie trzecim akcie nie ma co się szczypać, tylko walić rakietami. Pozostałe bronie, które zbierzemy po drodze można ewentualnie "wypykać" na pomniejszych przeciwników przy byle okazji (są takie plansze, że silniejsi/słabsi pojawiają się na przemian).

    Po czwarte: Co prawda kupujemy praktycznie tylko zapas rakiet, ale w trzecim akcie warto mieć pod ręką jakieś 50$ rezerwy, na wypadek kraksy (żeby można było z powrotem wzmocnić broń, bo bez tego będzie ciężko).

  • AvatarMDW
    Po pierwsze: (…)
    Po drugie: (…)
    Po trzecie: (…)
    Po czwarte: (…)

    Oooo widzisz… jakie to proste. Tylko jakoś kurde nie dla mnie, hehe. 😉 No ale skoro tak się da to cieszę się, że ludzie, którzy układali levele mnie nie posłuchali i nie zrobili łatwiejszych. 🙂

    A tak przy okazji jak już jestem przy bracie i bratowej to w tym miejscu chciałbym im oddać hołd. To, że zrobili te levele to jest cud. Jakbym pokazał w jaki sposób się je definiowało to wyśmialibyście mnie. Bardziej błedogennego i niewygodnego sposobu nie dało się zrobić. Przez chęć głupiej oszczędności sprawiłem, że robienie leveli było koszmarem. To był jedyny moment w którym ja chciałem przerwać projekt. To chore, że tak prostą sprawę można było tak skomplikować i sprawić, że będzie tak niewygodna. Gdyby nie Karol i Anka, którzy uparli się na maxa i zarwali kilka nocy to nic by z tego nie było. Do dzisiaj nie wiem jak oni to zrobili przy pomocy narzędzi, które udostępniłem, a na których przeróbkę nie było czasu i siły. Chociaż patrząc z perspektywy czasu myslę, że chyba jednak trzeba było. No nic, jest jak jest i lepiej nie będzie. To znaczy będzie/jest ale w następnej grze. 🙂

  • Dodaj komentarz