Aufbau von Attachment-Files
Zu jedem Spritefile (*s16) für Wesen im Ordner Images
gehört eine gleichlautende Attachment-Datei im Ordner Body Data.
Die Dateiendung ist *.att.
a00j.s16 im Ordner Images entspricht also a00j.att im Ordner Body Data.
Attachment Dateien und Spritefiles stehen in engem Zusammenhang miteinander, denn die
Attachmentfiles definieren, wo die einzelnen Körperteile aneinander festgemacht
(attached) sind.
Oder anders gesagt: Das Spiel muß wissen, wie es die vielen Einzelbilder für die
Körperteile (Spritefiles) zusammenfügen soll. Dieses Wissen bezieht es aus den
entsprechenden Angaben in den Attachmentfiles.
a00j aus unserem Beispiel definiert also, bei welchen Koordinaten der Kopf eines
männlichen Pixie Norns im Babyalter in den unterschiedlichen Stellungen (poses)
erscheinen und dargestellt werden soll. Die Darstellung erfolgt also durch Auslesen des
Spritefiles, die Plazierung durch Auslesen des entsprechenden Attachmentfiles.
| Die Attachment-Datei a00j, mit einem Texteditor geöffnet, zeigt euch eine Reihenfolge
von Koordinatenangaben für die verschiedenen Stellungen des Kopfes |
 |
 |
Und hier seht ihr, was ihr euch unter den Koordinatensequenzen einer Attachment-Datei
vorstellen müßt. Die Abbildung zeigt die Attachmentpunkte (Koordinaten) für den
Körperteil "body" in der Frontalansicht, also die Ansatzstellen für Kopf,
Oberarme, Oberschenkel und Schwanzansatz am Rumpf. |
Besonderheiten im Zusammenhang mit Attachmentfiles
Wenn nun den Spritefiles für neue Rassen keine Attachment-Dateien mitgegeben wurde,
greift das Spiel automatisch auf die installierten Attachment-Dateien der Rasse auf dem
vorherigen Slot zurück, wenn es für die neue Rasse keine findet. Das funktioniert aber
nur, wenn im Slotbereich vorher eine Rasse installiert ist, deren Sprites in ihren
Abmessungen nicht von der neu installierten Rasse abweichen.
Um diesen Mechanismus zu verstehen, stellt ihr euch am besten so einen Slotbereich als
Schiene vor, auf der die Einzel-Slots von A-Z angeordnet sind.
| Slotbereich Norns |
A |
B |
C |
D |
E |
F |
usw. |
| installierte Sprites |
A-Norns Norn Sprites mit Standard-
abmessungen |
B-Norns Norn Sprites mit Standard-
abmessungen |
C-Ettins Ettin Sprites mit Standard-
abmessungen |
D-Ettins Ettin Sprites mit Standard-
abmessungen |
Scorpio-
NornsSprites mit völlig neuen Abmessungen |
F-Norns Norn Sprites mit Standard-
abmessungen |
- |
| installierte Attachment (atts) |
Standard Norn-
atts |
keine eigenen atts |
keine eigenen atts |
Standard Ettin-
attsumgeschrieben nach Slot Norn D |
neue atts |
keine eigenen atts |
- |
| Darstellung erfolgt |
korrekt |
korrekt denn Spiel greift zurück auf die atts auf Slot A; das sind
Standard-atts und sie passen daher für die B-Norns |
fehlerhaft denn das Spiel greift zurück auf die Norn atts auf Slot
A und die passen nicht für Ettins |
korrekt |
korrekt |
fehlerhaft denn Spiel greift zurück auf die Scorpio atts auf Slot E
und die passen nicht für die F Norns |
- |
Ähnlich verhält es sich, wenn innerhalb einer Rasse nicht für alle Altersstufen,
für die es Sprites gibt, Attachmentdateien vorhanden sind. Fehlen also z.B. die
korrespondierenden Attachmentfiles zu den Sprites für die Altersstufe
"adult/erwachsen", so wird das Wesen "gestaucht" dargestellt, weil das
Spiel dann weiterhin die atts für die Altersstufe "adolescent/Vorpubertät"
hernimmt. Deren Koordinaten sind jedoch auf die kleineren Abmessungen der entsprechenden
Bilddateien definiert (Wesen in der Vorpubertät sind kleiner, als Erwachsene)
Die folgende Abbildung zeigt einen Norn in der Altersstufe "adult". Es waren
jedoch nur Attachmentdateien für die Altersstufe "embryo/baby" vorhanden. Der
Norn erscheint "gestaucht", weil die Koordinatenpunkte für "baby"
nicht mit den Abmessungen der Bilddateien für "adult" zusammenpassen.

Zu fehlerhafter Darstellung der Wesen kann es auch in folgenden
Fällen kommen:
- Es handelt sich um eine Rasse, die sich in der Größe nicht verändert. Der Rasse wurde
zwar der komplette Satz Spritefiles mitgegeben, aber nur Attachment Files für die
Altersstufe "baby". In diesem Fall greift das Spiel beim Wechsel der
Altersstufen auf die Body Data der Babys zurück.
Dies funktioniert, solange auf diesem Slot nicht vorher etwas anderes installiert war.
Nehmen wir aber an, vor der Installation dieser Rasse war auf dem gleichen Slot eine Rasse
installiert, deren Sprites die Größe verändern, und die deshalb auch Body Data für
alle Altersstufen mitgebracht hat. In diesem Fall werden nicht alle Attachmentfiles der
vorherigen Rasse überschrieben. Beim Wechsel der Altersstufe kommt es zu
Darstellungsfehlern, da dann auf die verbliebenen Attachmentfiles der Rasse zugegriffen
wird, die vorher dort installiert war.
- Es wird eine neue Rasse hergestellt, bei der beim Erstellen die Größe der
Originalbilder verändert wird. (z.B. um Flügel an den Rumpf zu hängen oder die Ohren zu
vergrößern) In diesem Fall wird bei der Verwendung der Standard-Atts die Darstellung
fehlerhaft, weil durch die veränderten Abmessungen der einzelnen Bilder die Ansatzpunkte
der Körperteile an einer anderen Stelle des Bildes im Bezug zum Bildrand sind.
Wer also eine neue Rasse erstellt, der sollte sich
die Mühe machen, den neuen Sprites auch einen kompletten Satz Attachmentfiles mitzugeben,
denn man kann nie wissen, wer auf dem vorausgehenden Slot einzieht, bzw. was der jeweilige
Spieler auf dem Slot dieser Rasse vorher installiert hatte ;-) |