** Lightwave a HAM8 Bawiâc sië programem Lightwave (przy moich 6 MB o jakiejô powaûnej pracy mowy byê nie moûe), zauwaûyîem przykrâ wadë. Chodzi mianowicie o to, ûe renderujâc scenë, powiedzmy, w rozdzielczoôci lo-res i o wymiarach np. 320 x 256 pikseli, oraz ustawiajâc w menu Record zapis sceny w trybie HAM8, program za ûadne skarby nie chce zachowaê narzuconych parametrów, zapisujâc niezmiennie scenë w rozdzielczoôci 752 x 576 pikseli. Poza tym autorzy Lightwave mieli chyba zîy dzieï, gdy pisali procedurkë do zgrywania obrazu w tym trybie -- jakoôê jest niezbyt dobra (chociaû dobrze ich rozumiem, Toaster to jest Toaster, a dla niego wîaônie powstaî ten kawaîek softu). Jednak dla chcâcego nic trudnego. Polak potrafi. Sposób na ominiëcie wymienionej wyûej niedogodnoôci jest nastëpujâcy: 1. Ustawiamy w menu Record opcjë RENDER DISPLAY na none (pamiëê to pieniâdz czy coô takiego); 2. Save RGB Image ustawiamy na 24 bit IFF; 3. Renderujemy; 4. Odpalamy ADPro (lub coô w tym stylu); 5. Îadujemy nasz 24-bitowy obrazek; 6. Ustawiamy odpowiednie parametry ekranu (tzn. rozdzielczoôê, wymiary i liczbë kolorów, najlepiej oczywiôcie HAM8) + wîâczamy dihtering np. Floyda-Steinberga; 7. Generujemy obraz i zapisujemy na dysk. Zalety: ^* Obrazek trzyma zadane wymiary; ^* Jego jakoôê jest o niebo lepsza niû tego wygenerowanego w HAM8 przez Lightwave. Proponujë poôwiëciê trochë czasu i wygenerowaê të samâ scenë, raz pozwalajâc zapisaê gotowy obrazek w trybie HAM8 przez Lightwave, drugi stosujâc powyûszâ metodë, i porównaê wyniki. *** AKIKO PP/Termos/Union Amiga CD32 ma ukîad Akiko, sîuûâcy do szybkiej konwersji grafiki typu chunky na grafikë bitplanowâ. Wykorzystanie tego ukîadu jest bardzo proste, a znacznie przyspieszy wiele procedur dla CD32. W systemie 3.1 (V40) istnieje procedura w ROM-ie do takiej konwersji o nazwie WriteChunkyPixels(), offset -1056 w graphics.library. Podajemy jej nastëpujâce parametry: a0 -- rastport (tak, konwersja moûe przebiegaê do okienka!), d0 -- xstart -- pozycja x lewego górnego rogu obszaru do konwersji, d1 -- ystart -- jw., pozycja y, d2 -- xstop -- pozycja x prawego dolnego rogu obszaru, d3 -- ystop -- jw., pozycja y, a2 -- array -- pointer do grafiki chunky, d4 -- bytesperrow -- liczba bajtów w jednej linii grafiki chunky. Przykîadowa konwersja chunky-to-planar grafiki, o wielkoôci 320 x 256 pikseli, wyglâda nastëpujâco (zakîadam, ûe mamy zainicjowany rastport, a jego adres wpisany jest pod etykietâ "rp", oraz bazë graphics.library, pod etykietâ "gfxbase"): chunkyconvert: move.l rp,a0 clr.l d0 clr.l d1 move.l #319,d2 move.l #255,d3 lea chunky,a2 move.l #320,d4 move.l gfxbase,a6 jsr -1056(a6) ; Tylko OS3.1 ! rts chunky: ds.b 320*256 Tak wiëc, koderzy, do roboty! Oby DOOM na Amidze "chodziî" lepiej niû na PC! ** Mâdry przed szkodâ Zbyszek T. Jeôli chcemy udoskonaliê nasz program AMOS-owy, to zamiast czekaê, aû obsîuga bîëdów zadziaîa, moûna sprawdziê, czy dysk jest zabezpieczony przed zapisem w poniûszy sposób. Moûna bëdzie ostrzec uûytkownika przed szkodâ (np. niezapisanie danych o ômierci 9998 kosmitów). Rem Którâ stcjë sprawdziê? DYSKIETKA$="DF0:" Rem Miejsce na dane BUFOREK$=Space$(100) Dreg(1)=Varptr(DYSKIETKA$) Dreg(2)=-2 Rem Otwórz A=Doscall(-84) Dreg(1)=A Dreg(2)=Varptr(BUFOREK$) Rem Weú informacje B=Doscall(-114) Dreg(1)=A Rem Zamknij B=Doscall(-90) Rem Wyjëcie potrzebnych danych STATUS=Varptr(BUFOREK$) PROTEKCJA=Leek(STATUS+8) Rem Wydruk If PROTEKCJA=80 Print "Zabezpieczony!" Else If PROTEKCJA=82 Print "Odbezpieczony!" End If End If