-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fault on SpritePad spritesets where the first one is a hires sprite #150
Comments
Thank you for the bug report, I will investigate. Funny it didn't come up until today. |
-----Ursprüngliche Nachricht-----
Sent: Tuesday, October 22, 2019 3:21 PM
Thank you for the bug report, I will investigate. Funny it didn't come up
until today.
Die Files laden jedenfalls korrekt in SpritePad und natürlich in GoDot (was
aber erstmal nichts heißt, könnte dann ja auch mein Fehler sein). Mein
Anliegen ist es, mehrfarbige Hires-Sprites erstellen zu können (per späterer
Überlagerung). GoDot liefert die Daten, aber Spritemate lädt sie nicht...
Dabei fällt mir ein: Könntest du sowas wie ein zweites Spritepool einbauen?
Wenn ich an *einem* Spriteset arbeite, möchte ich aus einem *anderen*
ebenfalls Sprites heranziehen können? GoDot kann jedenfalls die Daten dafür
liefern. Das wäre eine ungeheure Erleichterung!
Arndt
…---
GoDot - C64 Image Processing
https://www.godot64.de
|
Um welche SpritePad Version handelt es sich? 1.8.x oder 2.x? Da gibt's ja Änderungen im File Format (Animationsdaten). Kannst Du mir eine solche Datei hier anhängen? |
I did a test with version 2.0 beta 1 of SpritePad and got no error when importing a spd file with a hires sprite at first position. To investigate the issue further, I need your help:
Cheers! |
-----Ursprüngliche Nachricht-----
Sent: Tuesday, October 29, 2019 10:16 AM
Hi Ingo,
To investigate the issue further, I need your help:
what SpritePad version are you using?
It's version 2.3.0 PREVIEW
what's the SpritePad export format (1.8 or 2.x)
Software version 2 (file format version 2, you see it in file just behind
the SPD-signature). Multicolor sprites in the very same format work!
ideally attach the file or have steps to reproduce.
I attached the file "theshort.spd" created by GoDot. It's completely hires
and contains 45 sprites, when arranged as 5x9 sprites you see its contents:
a fraction of an image painted by Mermaid ("The short, the mule and the
ugly"). The other two files also contain 45 sprites which are color excerpts
from the original painting (hires with more colors). What I wanted to do is
to overlay these files to regain the original image in its correct
colorization.
Thank you for support!
Arndt
…---
GoDot - C64 Image Processing
https://www.godot64.de
|
Thank you for the support Arndt! To do a careful investigation, it is important to understand:
|
-----Ursprüngliche Nachricht-----
Sent: Wednesday, October 23, 2019 8:48 AM
Um welche SpritePad Version handelt es sich? 1.8.x oder 2.x?
Es ist die Softwareversion 2.3.0 Preview. Die erzeugt Fileformatversion 2.
Da gibt's ja Änderungen im File Format (Animationsdaten).
Ja, Änderungen, aber nicht Animation (die war in der Vorgängerversion schon
drin). Neu ist das Zusammenfassen zu Spritekacheln (bis zur Größe von 4x4
Sprites). Ebenfalls neu darin ist das Aufbohren auf Dateien mit mehr als 255
Sprites. Dazu musste Stewart die Werte im Header auf Words vergrößern.
Kannst Du mir eine solche Datei hier anhängen?
Die GoDot-Dateien, die ich geschickt habe, sind solche Dateien. In Version
2.0 des SpritePads laden die auch nicht. Die erzeugt auch Fileformatversion
1.
Hier mal ein Version-2-Header:
Byte-Offset / Typ / Inhalt
$00 String SPD
$03 Byte Version, hier: 2 (!)
$04 Byte Steuerbyte: Bit 0: File enthält Spritekacheln (Tiles),
Bit 1, File enthält Animationen
$05 Word Anzahl Sprites im File (*nicht*: minus 1!)
$07 Word Anzahl Tiles im File (ist neu im Format, also: $0001)
$09 Word Anzahl Animationen im File (*nicht*: minus 1!)
$0b Byte Breite des Tiles (Anzahl Sprites, Kommentar dazu siehe
unten)
$0c Byte Höhe des Tiles (dito)
$0d Byte Hintergrundfarbe (wie früher)
$0e Byte Multifarbe 1
$0f Byte Multifarbe 2
Kommentar: Das mit Bytes 11 und 12 (Breite/Höhe) ist mir noch nicht ganz
klar. Es fehlt da die Möglichkeit, die Daten für *mehrere* Tiles abzulegen
(müsste man ausprobieren, vielleicht erfolgen diese beiden Angaben dann
mehrfach, je nach Anzahl Tiles (Bytes 7 und 8). Allerdings kann man Tiles in
der Software nur *aktivieren*, nicht jedoch angeben, *wie viele* Tiles man
haben möchte. Von daher ist "mehrfach" vielleicht gar nicht vorgesehen.
Das File-Ende enthält dann wie früher die entsprechend dazugehörigen
Angaben. Allerdings, wenn die Werte im Header auf Null stehen, wird nun
nichts mehr defaultmäßig angehängt (anders als früher). Die Reihenfolge am
Ende hab ich nicht ausprobiert, sollte aber der Reihenfolge im Header
entsprechen.
Geht so:
Zuerst: Liste Words der Kachelnummern in der Reihenfolge der Ausgabe im
Vorschaufenster (z.B 1, 2, 5, 3, 1, 4 - normalerweise einfach
durchnummeriert), Angaben *pro Kachel*! (Also - wahrscheinlich - für jede
Kachel eine solche Liste)
Dann (wie früher): Animation-Start (so viele wie Byte 9/10 angeben),
Animation-Ende (dito), als Words!
Dann: Anzahl Bytes wie Byte 9/10 im Header angibt: Timer für die Animation,
als Bytes
Und: Anzahl Bytes wie Byte 9/10 angeben: Typ der Animation (Bit 4: Pingpong,
Bit 5: Overlay, Bit 7: Gültig), als Bytes
Beim der letzten Angabe (Typ) ist mir nicht klar, ob sie sich auf
Animationen oder auf Einzelsprites bezieht (was Overlay ja eigentlich
verlangt, Pingpong aber nicht), auch das Bit 7 (Valid) ist mir nicht klar.
Diese Sachen waren aber schon in den Vorgängerversionen enthalten, neu ist
die Nummernangabe in Words, der Einbau von Kacheln, das Anhängen der
Kachelliste, das Steuerbyte für Kacheln und Animationen im Header und das
Weglassen nicht benötigter Daten.
Kannst du damit was anfangen? Eine GoDot-Datei hast du ja schon. In der
SpritePad-Version 2.3.0 wird sie auch klaglos angezeigt.
Arndt
|
Hey Arndt, great feedback and valuable information! Most important for me is that it's not a bug in Spritemate's importer, but a new file format in SpritePad that I haven't implemented yet. I will look into supporting it, but it has to be pushed back behind other features, mostly animation support. Thank you for the attached file, I have something to work with now. Cheers! |
Spritemate doesn't load SpritePad sets when the first sprite is a hires Sprite (or even all are hires).
The text was updated successfully, but these errors were encountered: