Mogę usunąć ten efekt. Tymbardziej, że on powoduje kolejne odegranie sampla zbierania baterii, bo tak to mam zapisane w procedurze. Usuwając procedurę zaoszczędzę jakieś 80 bajtów kodu :)
Ja będę mógł najbardziej ingerować w DLC. Każda paczka DLC to będzie 20 leveli + pliki graficzne + pliki dźwiękowe. Jeśli ktoś by chciał stworzyć własne na swoich grafikach, to bym musiał udostępnić kod, który przerabia tileset na plik z bankiem shapów i bankiem sprajtów. Tu akurat kod jest elastyczny i z bitmapy 5-bitplanowej kopiuje 4 bitplany do drugiej bitmapy, z której wycina sprajty. Z 5-bitplanowych shapów nie da się stworzyć sprajta - taka blokada w Blitz Basic. Amos potrafił
Czyli, jeśli ktoś by chciał pełne DLC stworzyć, to musiałby posiadać edytor leveli, który myślę, że Szafir udostępni bezproblemowo, konwerter grafiki na pliki GFX.SHP oraz SPR.SHP i PAL.DAT, gdzie siedzą dane palety, oraz musiałby ręcznie sobie stworzyć sample w IFF 8SVX. Oczywiście można mieszać i z gry skopiować, tylko że w grze są numerowane np. GFX1.SHP, a w DLC to po prostu GFX.SHP.
Jeszcze kwestia ustalonej przez Selura drugiej połowy palety, która jest stała oraz wzór tilesetu do gry. Mógłbym śmiało dać wzór w IFF, w którym jest postawowa grafika z Atari 8-bit. Taki użytkownik mógłby sobie pozmieniać paletę oraz grafiki pod siebie. Grafiki Selura również mógłby zmienić, a jedynie musiałby pamiętać, że kolory sprajtów w IFF muszą być z indeksów 17-31. Grafiki do dolnej belki również mógłby zmienić wedle uznania. Wtedy taki plik IFF by sobie wczytał do konwertera grafik i voila. Musiałbym się zastanowić jeszcze, czy nie ma jakichś ograniczeń. Na pewno trzeba tworzyć poziomy z głową, bo jeśli nawali stworków, czy laserów jeden obok drugiego, no to będzie wolno, mimo że nie blituje się co ramkę, ale trochę logiki tam jest. Stworek sprawdza sobie po swoim kierunku, czy może przejść w bok, jeśli nie to prosto, jeśli nie to w drugi bok itd. Z oczami jest trudniej, bo one wędrują za robocikiem i szukają drogi w linii prostej, ale po pewnym algorytmie, który jest w kodzie. Lasery są jeszcze bardziej skomplikowane, bo jeśli laser ma bardzo długi strzał, to cała jego długość kafel po kaflu jest sprawdzana, czy dobił do ściany/innego przedmiotu i ma wracać, czy nie. W Electromanie lasery były bobami, bo były animowane, tutaj są po prostu blitami. Laser obrotowy dodatkowo losuje następny kierunek strzału, bo on po każdym wystrzale wybiera sobie kolejny kierunek losowo. Samo blitowanie obiektów nie jest oparte na bobach, ale dochodzi jeszcze odryowanie tła po obiekcie, odrysowanie dolnej części wyższego kafla, bo jeśli tam jest murek, lub skrzynka, to trzeba ją odrysować (widok top-down).
No i przy wyborze konkretnej paczki DLC nie wybieramy katalogu, a dowolny plik w tym katalogu. No niestety, musiałem użyć standardowy FileRequester zgodny z kickstartem 1.3. Requester od samego katalogu już wymaga kicku 2.0, bo używa biblioteki ASL - a dokładnie to funkcja ASLPathRequest$(). No szkoda.