Collab: Entwicklung eines TSB-Puzznic-Klons

Es gibt 1.089 Antworten in diesem Thema, welches 110.159 mal aufgerufen wurde. Der letzte Beitrag (1. November 2024 um 23:56) ist von Omega.

  • Ja, die Idee habe ich schon verstanden. Ich habe nur nicht verstanden, wieso du eine Eingabedatei haben wolltest. Ich gehe jetzt aber davon aus, dass du das eigentlich gar nicht willst/brauchst. Es würde reichen, wenn man einfach eine Datei mit den Spritedaten an einer einstellbaren Startadresse ablegt.

    Es wäre schon schön, wenn man die neuen Spritedaten in eine vorhandene Datei mit Spriteblöcken einfügen könnte. Genauso wie bei CHARCOOL. Für ein Sprite sind ja immer 64 Byte reserviert. Da kann man dann (wie bei CHARCOOL) auch angeben: 0= 1.Sprite, 1= 2.Sprite, 2=3. Sprite usw. Bei TSB kann man immer nur ganze Pages (=256 Byte) reinladen. Also 4, 8, 12, 16 usw. Sprites. Wenn ich mit TSB beispielsweise nur 3 Sprites reinladen möchte, dann wird (glaube ich) das evtl. vorhandene 4. Sprite überschrieben.

    Am Ende geht es ja, wie bei CHARCOOL, darum, dass man sich eine Spritedatei zusammenbaut, indem man Sprites aus PNG-Dateien erzeugt und importiert.

  • Hier, probier mal aus...

    Ich habe das in der gleichen Datei wie Charcool untergebracht, aber der Aufruf ist leicht anders. Statt über -jar ... wird das jetzt explizit über seinen Namen gestartet (für Charcool ändert sich nichts). Also z.B.:

    Code
    java -cp charcool.jar com.sixtyfour.chars.SpriteCool spritetiles2.png 3*2 -a8192

    Das erzeugt aus den Bilddaten im PNG zwei Blöcke aus jeweils 6 Sprites in 3*2-Anordnung und speichert das Ergebnis in einer Datei "sprites.prg" (das ist fix, außer man gibt eine eigene an, aus der die Sprites vorab geladen werden, wie bei Charcool) mit der Startadresse 8192 (-a<zahl>).

    Die readme.txt ist erweitert und enthält mehr Details.

    Zu Testzwecken habe ich eine kleine Demo gebaut, die per Tastendruck zwischen den erzeugten Sprites umschaltet. Die liegt in dem D64-Image.

  • Ich hoffe, Omega kann das Projekt finanziell noch stemmen. Wenn ich alleine schon die unerwartet explodierenden Kosten für die Tools sehe! :whistling:

    Rechnung ist in Vorbereitung...

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Ich habe es gerade mal getestet.

    Hier habe ich meine Spritedatei, die auf dem PC erstellt wurde ("MeineSprites.png"):

    Bitte melde dich an, um diesen Anhang zu sehen.

    Als Ziel benutze ich eine bereits vorhandene C64-Datei mit 64 Sprites.

    Im Terminal passiert große Voodoo-Magie:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Und siehe da. Es hat funktioniert.

    Bitte melde dich an, um diesen Anhang zu sehen.

    Fantastisch! :thumbsup:

  • EgonOlsen71: Ich habe gerade nochmal mit anderen Parametern getestet. Das ist wirklich allererste Sahne. Die Java-Programme, die du hier hervorzauberst, sind von unschätzbarem Wert. Ich weiß gar nicht, wie ich dir genug danken kann.

    Übrigens:

    Der Aufruf mit java -cp charcool.jar com.sixtyfour.chars.SpriteCool ist ziemlich lang. Kann man da etwas machen?

    Und es gibt anscheinend keinen -r Modus wie bei den Zeichensätzen. Wäre vielleicht nicht schlecht, damit es einheitlich ist. So eine im "Reverse-Mode" erzeugte PNG-Datei könnte ja immer 192x168 Pixel groß sein. Dann passen 64 Sprites hinein.

  • Du kannst im Manifest eines jar Files die Hauptklasse angeben. Dann kannst Du einfach das jar File ausführen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Du kannst im Manifest eines jar Files die Hauptklasse angeben. Dann kannst Du einfach das jar File ausführen.

    Bitte melde dich an, um diesen Link zu sehen.

    Ja, aber da ist schon die andere Klasse eingetragen. Die Dinger sind halt beide in einem Jar. Muss eben etwas mehr tippen...oder sich ein kleines Shellscript schreiben, was das abkürzt.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Warum nicht 2 jars machen? Oder einen Switch -sp , oder so?

    Für zwei JARs war ich zu faul, da hätte ich entweder zwei Projekte einrichten müssen oder die Pom verfummeln und per Switch wurde es mir zu unübersichtlich mit den ganzen Switches, die schon drin sind.

    Tippt man halt ein paar Zeichen mehr...ich sehe da jetzt wirklich nicht das Problem mit.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Tippt man halt ein paar Zeichen mehr...ich sehe da jetzt wirklich nicht das Problem mit.

    Nein, das ist auch gar kein Problem. Wenn man es mehrmals hintereinender braucht, kann man ja im Terminal <crs-hoch> drücken.

    So einen Reverse-Mode für Sprites wäre aber schon schön. Ist aber wahrscheinlich zu kompliziert. Und ich möchte deine Hilfe nun auch nicht überstrapazieren.

    Du hast schon mehr als genug gemacht und solltest dich erstmal ausruhen.

  • Nee, großer Aufwand wäre das nicht. Ich hatte das halt explizit weggelassen, weil mir der Sinn bei den Zeichensätzen schon nur bedingt klar war und ich den bei den Sprites überhaupt nicht gesehen habe. Kann ich bei Gelegenheit mal ergänzen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Ich hatte das halt explizit weggelassen, weil mir der Sinn bei den Zeichensätzen schon nur bedingt klar war und ich den bei den Sprites überhaupt nicht gesehen habe.

    Der Sinn wäre, dass man Teile einer Zeichensatzdatei in eine andere Zeichensatzdatei übertragt. Oder, dass man Sprites aus einer Spritedatei in einer andere Spritedatei überträgt.

    Zum Beispiel: Du hast Buchstaben und Zahlen in einem Zeichensatz erstellt. Und die möchtest du auch in einem anderen Zeichensatz verwenden.

    Kann ich bei Gelegenheit mal ergänzen.

    Das wäre super. Das würde die Flexibilität von SpriteCool nochmals erhöhen.

  • Letzte Nacht ist mir Jesus im Traum erschienen und hat gesagt, dass er sich auch einen Reverse-Mode wünscht. Ich weiß nicht, ob das etwas zu bedeuten hat. :gruebel

  • Letzte Nacht ist mir Jesus im Traum erschienen und hat gesagt, dass er sich auch einen Reverse-Mode wünscht. Ich weiß nicht, ob das etwas zu bedeuten hat. :gruebel

    Also quasi Wein zu Wasser?

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Letzte Nacht ist mir Jesus im Traum erschienen und hat gesagt, dass er sich auch einen Reverse-Mode wünscht. Ich weiß nicht, ob das etwas zu bedeuten hat. :gruebel

    Also quasi Wein zu Wasser?

    Ich glaube, er meinte bei seinem Walkman. Damit er die Kassette nicht rumzudrehen braucht.