atarionline.pl Piąty gracz ? - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1:
         
        CommentAuthorMaW
      • CommentTime19 Dec 2009 19:27 zmieniony
       
      Witam, jak nim zarządzać ?

      Co należy zrobić, aby gracz piąty działał jak pozostałe* ?
      (
      * - jedna komórka pozycji X, nakładanie się z innymi kolorami, wykrywało zderzenia z innymi sprite'ami)
    1.  
      Hello.

      Using 5th Player you don't have overlaps.

      The 4Missiles takes PF3 colour but can be used separate (like 1for head, two for the hands, another one for...)
      They have the same adresses as if they were part of P0->3.

      But strange thing will happen:
      They are as 5th Player always on top of any PF.
      For the Priority of 5th Player against the 4Players they are like PF3 in the different Priority nºs. (0,1,2,4,8).

      On Priority8 you get something like a bug:

      Priority8:
      Higher Priority: PF0/1
      PM0/1
      PM2/3
      PF2/3

      When you have 5th Player in PFs it's on Top but if it's on PMs it's under. Now if you have in the same pixel 1PF, a Player and 5th Player you get a contradiction (PF3 above Players, that you can see from the table above, a Double Priority).
      In this case PF/P/5th Player on screen you not see the Player, nor the 5th Player, you see the PF that is on that place.

      Hope my English/explanation helps you.~



      Greetings.
      José Pereira.


      p
      • 3:
         
        CommentAuthorMaW
      • CommentTime21 Dec 2009 10:45
       
      Thanks, i have question to you: do you understand polish language, or use autotranslator ? :-)

      I am looking for "hitobject", which one could be to use to test hits with game field and others objects, when sprite(s) on view shows "somethings other". But i don't know if it a good way.
    2.  
      Hello Maw.

      If think from here or AtariAge that I'm not a programmer, but I know most of A8 in theorical.
      I'll try to help you... But I cannot understand what you want (I understand English, but my writing is also a little bad!...)

      Send in your language (Polish?) and I'll try to translate myself to Portuguese (or English). Or ask for someone to write in English what you want.

      Hope I can help you!...
      Greetings.
      José Pereira
      • 5:
         
        CommentAuthorMaW
      • CommentTime16 Aug 2026 14:39 (1 dzień temu) zmieniony
       
      Hej, lata minęły, moje notatki napuchły - żeby na zaginęły:
      Normalnie:

      P0   P1   P2   P3
      M0 M1 M2 M3


      1. Piąty Player uzyskujemy po ustawieniu bitu 4 rejestru PRIOR:

      P0,   P1,   P2,   P3, "5th Player"[M0, M1, M2, M3]


      Co ważne, M0–M3 nadal są czterema niezależnymi missile. Każdy ma własne:

      Czyli teoretycznie: 5th Player = cztery missile użyte razem jako jeden większy obiekt, ale...

      HPOSM0..HPOSM3 — określasz pozycję X każdego po kolei,
      SIZEM = %[M3M3,M2M2,M1M1,M0M0] — szerokość (pary bitów osobno dla każdego missila - a więc tu jest przewaga nad "standardowym" Playerem),

      GTIA automatycznie nie „skleja” missili - jeśli chcesz używać ich jako jednego dużego gracza, musisz sam ustawić ich pozycje tak, aby tworzyły całość.

      2. Jak go przesuwasz?

      Dokładnie tak samo jak zwykłe missile.

      Pozycja X:

      Masz: HPOSM0, HPOSM1, HPOSM2, HPOSM3

      więc pozycjonowanie piątego gracza trwa czterokrotnie dłużej, niż "normalnego" (ci co "ścigają się z rastrem" wiedzą, co to za ból...)

      M0 ████
      M1 ____████
      M2 ________████
      M3 ____________████

      Co z pozycją Y?

      1:1 jak przy standardowych graczach - przepisujesz bajty w nowe miejsce, czyszcząc stare.
      I tu w tym momencie piąty gracz ma przewagę nad missilami - o ile traktujemy go jako całość: jeżeli traktujemy missila jako "kreskę" i nie zmieniamy jego kształtu, to najszybszym "przesuwaniem" missila jest użycie DLI i chowanie go za ekran w linii, w której nie chcemy go mieć na ekranie.

      Jeżeli już koniecznie chcemy go modyfikować podczas ruchu (np. lewy bit/prawy bit), to... musisz pierw wyciąć pozostałe missile, przesunąć wartość missila modyfikowanego do odpowiedniej pozycji na bitach, następnie je wszystkie razem z powrotem bitowo skleić...

      3. NIE ISTNIEJE REJESTR *HPOSM5* (nie wierzcie jejajowi! :D ):

      '5th Player'|'Piąty gracz' to sposób interpretacji czterech istniejących missile przez GTIA, a nie dodatkowy rejestr/sprite, ale...

      3. Kolor piątego gracza

      Normalnie missile tworzą pary z odpowiadającymi im playerami:

      M0 → kolor P0
      M1 → kolor P1
      M2 → kolor P2
      M3 → kolor P3

      Po włączeniu "piątego":

      M0 + M1 + M2 + M2 ──→ kolor PF3 = COLPF3 (wszystkie cztery missile dostają jeden kolor).

      czyli faktycznie dostajesz piąty niezależny kolor obiektu.
      Tylko - i aż tyle.



      I to wszystko, co się dzieje bez dodatkowego wsparcia kodem.... zabawa zaczyna się przy "machaniu" priorytetami i włączaniu "multicolor sprites" - ale to już inna bajka...

      Jakby Atariki działała, to bym Was tam odesłał do PMG... jak na razie trzeba poczekać, aż wróci z nieszpor...

      Jest coś, co może być przewagą piątego playera:
      w przypadku P0 - P3 raz ustawiasz szerokość - dla całego sprajta. Dla piątego playera - dalej korzystasz z rejestru dla missili - czyli: jak się uprzesz, każdą część (co dwa bity) tego sprajta możesz mieć innej szerokości...
      • 6:
         
        CommentAuthorMq
      • CommentTime16 Aug 2026 14:59 (1 dzień temu)
       
      Dodał bym do tego info o pozycjonowaniu takie, że wprawdzie pozycję x trzeba dla każdego missila ustawiać osobno, więc tak jak napisałeś 4x więcej operacji niż dla pozostałych playerów, ale już pozycję y ustawia się tak samo jak w przypadku każdego playera, bo wszystkie 4 missile siedzą w pamięci we wspólnych bajtach. Ustawianie pozycji x zabiera nieznacząca ilość czasu, bo są do tego rejestry, natomiast prawdziwie czasochłonne jest przesuwanie pozycji y, bo trzeba kopiować bajty, więc to ma znaczenie, że piąty player jednak pod tym względem działa identycznie jak 1,2,3,4 player.
      • 7:
         
        CommentAuthorMaW
      • CommentTime17 Aug 2026 00:40 (16 godzin temu)
       
      Dodałem - dodałem też informację o tym, o bardziej skomplikowanej operacji zmiany kształtu poszczególnego missila, jeżeli traktujemy je niezależnie.
      • 8:
         
        CommentAuthorMq
      • CommentTime17 Aug 2026 11:47 (5 godzin temu)
       
      Elegancko :-) Chociaż tak jak mówisz, wszystko to jest na Atariki, które przecież zacznie z powrotem działać jak tylko będzie to możliwe :-)