home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
11
/
amikuf11.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
4KB
|
172 lines
<sr>** Lightwave a HAM8
<a Grzegorz (Child) Jankowski
<txt>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.
<sr>*** AKIKO
<a>PP/Termos/Union
<txt>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"):
<l>
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
<txt>Tak wiëc, koderzy, do roboty! Oby DOOM na Amidze "chodziî"
lepiej niû na PC!
<sr>** Mâdry przed szkodâ
<a>Zbyszek T.
<txt>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).
<l>
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