Texture variation

Startprobleme? Du kommst nicht mehr weiter?
SkyNet
Raupe
Raupe
Beiträge: 36
Registriert: Mi 4. Dez 2013, 17:57

Re: Texture variation

Beitrag von SkyNet »

cech12 hat geschrieben:...die Funktion check_inventory_list in irgendeiner Weise nach dem Auspacken aufgerufen wird. :D
Das wird das Problem sein. Ich weiß gerade nicht wie ich diese aufrufen kann. Texturen sind alle da. Die Schatztonne selbst wird nicht ausgepackt. Da hab ich mir eine neue Klasse geschrieben, die ich herstellen und platzieren kann, und die durch set item [new Schatztonne] die eigentliche Tonne erstellt.

Bild
In Discord as: SkyNet#9744
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Texture variation

Beitrag von cech12 »

Ich weiß gerade nicht wie ich diese aufrufen kann.
Ich habe mal ein wenig im Code herumgesucht und bin in der Data/Scripts/classes/zwerg/z_work_common.tcl auf ein paar Stellen gestoßen, die dir helfen könnten.

Es gib ca. in Zeile 413 eine Funktion prod_buildup in der eine If-Abfrage schaut, ob Items mit oder ohne Aufbauanimation aufgebaut werden sollen.

Code: Alles auswählen

if {[lsearch {Abfluss Leiter Leiter_Kristall Leiter_Metall Plattmachfalle SteinfalleMedusa} $pclass]!=-1} {
	...
}
In der Liste sind alle Items, die keine Aufbauanimation haben. Da könntest du deine Schatztonne hinzufügen. ;)

Um Items aufzubauen, wird die Item-Methode unpackfrombox aufgerufen. Diese befindet sich in Data/Scripts/misc/genericprod.tcl ca. in Zeile 194. Dort wird ziemlich am Ende geprüft, ob das Item eine init-Methode besitzt und falls ja, wird diese aufgerufen.

Code: Alles auswählen

if {[check_method [get_objclass this] init] == 1} {
	call_method this init
} else {
	log "WARNING: no init method for class [get_objclass this]"
}
Somit müsstest du theoretisch nur in deiner neu erstellten Klasse eine init-Methode definieren, die deine Funktion aufruft. Ungefähr so:

Code: Alles auswählen

method init {} {
	check_inventory_list
}
Oder wenn du deine check_inventory_list in eine Methode umwandelst (anstatt proc einfach method davorschreibst):

Code: Alles auswählen

method init {} {
	call_method this check_inventory_list
}

Viel Erfolg ;)
SkyNet
Raupe
Raupe
Beiträge: 36
Registriert: Mi 4. Dez 2013, 17:57

Re: Texture variation

Beitrag von SkyNet »

Also das mit der inventory liste funktioniert jetzt. War gerade dabei drei neue Textur Variationen für die Tonne in Photoshop zu erstellen, was eigenlich überhaupt kein Problem sein sollte, da ich bereits die Vorgehensweise kenne und ein dutzend anderer Texturen erstellt hab die auch wirklich im Spiel funktionieren. Jetzt auf einmal macht Wiggles solche Faxen:
Bild

Die Textur sollte nicht so aussehen. Weiche Übergänge werden vom Spiel hart dargestellt. Ich komm einfach nicht dahinter.

PS: Stimmt da was mit der Farbpalette nicht?
In Discord as: SkyNet#9744
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Texture variation

Beitrag von cech12 »

Hallöchen,

das blaue Fass sieht ja sehr interessant aus. :D
Leider weiß ich nicht, wie das Fass eigentlich aussehen soll und kann deine Frage nicht wirklich beantworten. Wenn du dich aber an das ursprüngliche Seitenverhältnis und das Dateiformat gehalten hast, sollte das nicht das Problem sein.

Wenn man sich das echte Fass ansieht, dann gibt es dort ja auch relativ weiche Übergänge.

Vielleicht zeigst du uns mal ein Bild von deiner Textur, vielleicht hilft das ja weiter. :)

Viele Grüße
Chris
SkyNet
Raupe
Raupe
Beiträge: 36
Registriert: Mi 4. Dez 2013, 17:57

Re: Texture variation

Beitrag von SkyNet »

Die originale sind Holz_Standard_a_256.tga und Holz_Standard_b_256.tga.

Bild
Bild
In Discord as: SkyNet#9744
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Texture variation

Beitrag von cech12 »

Hey SkyNet,

ich habe das bei mir auch gerade mal getestet und bei mir bildet ein Farbverlauf auch solche Streifen. Ich vermute mal, dass die Engine die Texturen einer Komprimierung / Tontrennung unterzieht, um Graka-Ram zu sparen. Eine Tontrennung bei Fabrverläufen führt zu solchen Abstufungen.

Ich denke mal, da kann man nur schwer etwas tun außer keine Grafiken zu verwenden, die ungünstig auf Tontrennung reagieren. :cry:

Hier ist mal testweise ein Farbverlauf mit Bildrauschen, um die Tontrennung zu umgehen. Da sieht es schon besser aus.
Bild

Viele Grüße
Chris
SkyNet
Raupe
Raupe
Beiträge: 36
Registriert: Mi 4. Dez 2013, 17:57

Re: Texture variation

Beitrag von SkyNet »

Egal was ich auch versuche, in Photoshop oder auch in Corel PHOTO-PAINT, es funktioniert nicht. Was für ein Grafikprogramm benutzt du für deine Texturen?
In Discord as: SkyNet#9744
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Texture variation

Beitrag von cech12 »

Hey SkyNet,

wie ich schon sagte, hat das nichts mit den Texturen selbst zu tun sondern mit der Wiggles-Engine, die anscheinend ein paar Textur-"Optimierungen" tätigt...

Das geht auf die Kosten der Texturqualität und verunstaltet vor allem Farbverläufe. Daher benutz am besten keine Farbverläufe in deinen Texturen. :)

Ich nutze Gimp und Paint.NET.
Das Bildrauschen ist ein Effekt von Paint.NET gewesen.

Viele Grüße
Chris
Antworten