Creatures 2 Knowledgebase

Attachmentfiles

Definition * Besonderheiten/Fehlerquellen

?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 attfile a00j
attachment body 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-
Norns

Sprites 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-
atts

umgeschrieben 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.

Pixie Norn, gestaucht

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 ;-)

-> INDEX