1 Ostatnio edytowany przez Cyprian (2022-03-29 22:52:12)

czy jest możliwe by duszki w hiresie przykrywały tło i znaki?
aktualnie mam coś takiego, gdzie kolory duszków miksują się z tłem:
http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=8959
http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=8958

Post's attachments

HiresDuszki.png 29.79 kb, nikt jeszcze nie pobierał tego pliku. 

HiresDuszki_2.png 30.47 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

2

Znaki hires zawsze są na wierzchu. Możesz najwyżej ustawić taką samą jasność znaków i duszków i wtedy nie odróżnisz.

https://www.youtube.com/watch?v=jofNR_WkoCE

3

użyj VBXE, wtedy będzie można wszystko

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

4

@Fox ok, dzięki

@tebe no tak, z tym że dla dużej ilości kolorów sięgam po Falcona.

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5

Cyprian, ja mam takie notki:

Instrukcja do G2F napisał/a:

W HiRes mamy 2-a kolory, które wzajemnie na siebie oddziaływują: kolor 1 (709) i kolor 0 (710).
kolor 1  to jasność i tylko jasność grafiki czyli zapalonych pixli.

kolor 0  to kolor tła, czyli zgaszonych pixli.
Jeśli zmienimy kolor 0 (tło), to zapalone pixle przyjmą kolor kolor 0  o jasności z kolor 1 .

Jeśli zmienimy kolor 1  to zmienimy tylko jasność zapalonych pixli grafiki, ich kolor pozostanie bez zmian.
Kolory duszków PM0...PM3 będą zależeć od jasności zapalonych pixli grafiki, czyli od kolor 1  i mniej od zgaszonych pixli czyli kolor 0 .

DUSZEK ZNAJDUJE SIĘ NAD KOLOR 1 :
- jeśli jasność z kolor 1 <>jasności duszka to duszek przejmuje jasność z kolor 1 ,
  grafika kolor 1  jest niejako podkolorowana kolorem duszka
- jeśli jasność z kolor 1 =jasności duszka to duszek nie zmienia jasności, zakrywa kolor kolor 1

DUSZEK ZNAJDUJE SIĘ NAD KOLOR 0 :
- kolor duszka pozostaje bez zmian, zakrywa tylko kolor kolor 0

W/w zależności możemy teraz wykorzystać do pokolorowania HiRes, musimy tylko zamienić kolory grafiki miejscami, tzn. kolor 0 (tło) będzie kolorem zapalonych pixli kolor 1 , a kolor 1  zamienimy na kolor 0 .

Dzięki takiej zamianie, kolor kolor 1  staje sie kolorem tła i jego jasność będzie oddziaływać na jasność duszków. Tło przeważnie mamy czarne, a jasność koloru czarnego jest =0 :)
Tak więc jeśli duszek przysłoni kolor kolor 1 =0, to też przyjmie jasność =0.

Atariki napisał/a:

W trybach wysokiej rozdzielczości nałożenie sprajta na pole gry powoduje zmianę koloru tła wszędzie tam gdzie piksel sprajta jest zapalony. W konsekwencji wszystkie piksele grafiki mają kolor pobrany z rejestru sprajta, przy czym jasność piksela zgaszonego (0) brana jest z rejestru koloru sprajta, natomiast jasność piksela zapalonego (1) brana jest z rejestru COLPF1 ($D017).

Ponieważ zarówno kolor tła, jak i piksela pobierany jest z rejestru COLPF2 ($D018), to nieco inaczej wygląda również nakładanie kolorów sprajtów kiedy włączony jest priorytet 0 i zachodzi wyłącznie w przypadkach:

    PF2 + PM2,     PF2 + PM3,    PF2 + PM2 + PM3,    PF3 + PM2,    PF3 + PM3,    PF3 + PM2 + PM3

PONIEWAŻ POŁĄCZENIE POCISKÓW W PIĄTEGO GRACZA POWODUJE, ŻE KOLOR POCISKÓW BRANY JEST Z REJESTRU COLPF3 ($D019), TO W MIEJSCACH GDZIE PIKSELE POCISKÓW SĄ ZAPALONE KOLOR PF2 JEST ZASTĘPOWANY PRZEZ PF3. Nakładanie kolorów zaś odbywa się w tym przypadku tylko między pociskami (które traktowane są jak pole gry PF3) a graczami.

Pierwsza para sprajtów PM0 i PM1 reaguje wyłącznie między sobą, ponieważ żaden piksel pola gry nigdy nie przybiera koloru pobranego z COLPF0 ($D016) lub COLPF1 ($D017).

Fragmentu zaakcentowanego z ^Wiki jeszcze nie udało mi się uzyskać w G2F.

To powyżej można jeszcze połączyć z duszkiem lub pociskiem rozciągniętym na całym ekranie co poprawia trochę sytuację i teoretycznie daje on niezależność drugiego koloru znaków, zwłąszcza jeżeli dodatkowo wykorzystamy odwrócenie kolorów polecane w instrukcji G2F :)

W G2F masz do wykorzystania priorytet 0 i 1:

Priorytet 0
 bez włączenia piątego gracza: PM0 | PM1 | ..... PF1 | PM2 | PM3 | PF2 | BAK
  z włączonym piątym graczem:  P_0 | P_1 | P_5 | PF1 | P_2 | P_3 | PF2 | BAK
Priorytet 1 
 bez włączenia piątego gracza: PM0 | PM1 | PM2 | PM3 | ..... PF1 | PF2 | BAK
  z włączonym piątym graczem:  P_0 | P_1 | P_2 | P_3 | P_5 | PF1 | PF2 | BAK

Zmieniłem P4 na P5 - bo jakoś wszyscy kojarzymy "piątego duszka", a nie czwartego licząc od zera ;)

___
Press play on tape...

6

@maw dzięki
podsumowując dla HiRes i Priorytetu 0:
Tło (piksel zgaszony) - duszek zawsze przykrywa je swoim kolorem i jasnością.
Znaki (piksel zapalony) - duszek przykrywa znak swoim kolorem ale z jasnością znaku. Więc jeśli oba mają tą samą jasność, to znak jest przykryty duszkiem.

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org