Vielleicht gibt es ja doch noch einen Patch. Zumindest aber ein Video, das den funktionierenden Einbau im Gesamtspiel zeigt, inkl. aller Sprites, also gezogener Kanone, Fadenkreuz und drei seelenlosen Viechern. Da ich eh keinen Quellcode habe, programmiere ich mit dem Freezer-Monitor im laufenden Spiel, das ich dazu erst mal analysieren musste. Die Aussichten sind gut, wenn auch sehr wenig Platz dafür über ist.
Nochmal das Grundprinzip: Es muss für den Effekt mindestens ein Hardware-Sprite frei sein. Die anderen 7 dürften aber für sonstige Zwecke vervielfacht werden. Vertikal gesehen kann man, bezogen auf einen Frame, bis zu 7 Sprites zusätzlich für den Regen einsetzen, wo sie gerade für ihren eigentlichen Zweck nicht positioniert werden. Das reduziert die Interrupts.
Sprite-Situation in Hawksmill:
#0: Waffe, Bitte melde dich an, um diesen Link zu sehen.: Beine, Bitte melde dich an, um diesen Link zu sehen.: Oberkörper, Bitte melde dich an, um diesen Link zu sehen.: Körperfarbe, Bitte melde dich an, um diesen Link zu sehen.: Fadenkreuz oder Mündungsfeuer, Bitte melde dich an, um diesen Link zu sehen.: Vampir 1, Bitte melde dich an, um diesen Link zu sehen.: Vampir 2, Bitte melde dich an, um diesen Link zu sehen.: Vampir 3 oder Wolf. Also alle 8 in Gebrauch.
Beine und Oberkörper habe ich jetzt auf Sprite Bitte melde dich an, um diesen Link zu sehen. gemultiplext, sodass Sprite Bitte melde dich an, um diesen Link zu sehen. für den Regen frei geworden ist.
Da diese beiden Körperteile direkt aneinander grenzen, ist das Zeitfenster zum Umschalten sehr klein. Deswegen wird im oberen Rahmen bereits der nötige Zeitausgleich der künftigen VIC-Aktivität bei unterschiedlichem Sprite-Aufkommen derselben Höhe berechnet. Diesen Aufwand kann man sich sparen oder reduzieren, wenn man bei doppelt oder dreifach hohen Figuren gleich eine Zeilenüberlappung von jeweils 1 oder 2 Pixeln einplant.
Der originale Regen-Task beginnt im unteren Rahmen. Schätzungsweise wird die Sprite-Lösung samt Interrupts nicht mehr Rasterzeilen gebrauchen. Dabei werden im alten Regen nicht mal Zufallstropfen berechnet, sondern einer gespeicherten Zahlenreihe entnommen, sodass sich die Regenanimation ca. alle 1,5 Sekunden wiederholt.
Bitte melde dich an, um diesen Anhang zu sehen.
Des weiteren blieben zwei Probleme bei schrägem Regen unberücksichtigt.
Das größere Problem: Regentropfen, die auf der einen Bildseite ihren Fall mit Aufschlag beenden, fehlen auf der anderen Seite.
Bitte melde dich an, um diesen Anhang zu sehen.
Das kleinere Problem: Regentropfen, die auf der anderen Seite ein Hindernis an der Bildkante erwartet, schlagen am Nichts auf.
Bitte melde dich an, um diesen Anhang zu sehen.
Nächster Schritt: Lokalisieren und löschen von allem, was mit dem Char-Regen zu tun hat, weil ich den Platz brauche.
Begonnen wird dann mit geradem Regen, und zunächst bis zur Bodenlinie auf der ganzen Breite. Abfrage von höheren Bodenbereichen später.
Übrigens hat man so auch in Haus und Dungeon ein Sprite frei und könnte damit was machen.