Hallo zusammen,
Inzwischen habe ich
- BeginPass()
- CommitChanges()
- EndPass()
in tbEffect eingebaut. (5 Minuten Arbeit : Pass() kopieren, Namen ändern, Fertig)
Beim Kompilieren fallen dann die Stellen auf, an denen in anderen Quelltexten noch Pass() steht. Dort setzt man entsprechend BeginPass() und EndPass() ein und ist auch damit schnell fertig.
------
Am Ende warnt der Linker, daß er bei streambased.lib keine vc60.pdb gefunden hat. Laut Doku ist das auch nicht schlimm, sofern man sich sicher ist, daß streambased.lib die richtige ist. Und das ist ja der Fall, wenn man sich aus dem TriBase-Verzeichnis bedient.
------
Trotzdem wollte ich streambased.lib neu erstellen.
Im Baseclasses-Ordner fehlte dann aber wxdebug.cpp, warum auch immer. Da ich erst mal keine gefunden habe, habe ich versucht, TriBase ohne streambased.lib zu linken.
Das gab Probleme bei tbMusic und tbVideo, weil dieses ordentlich Funktionen aus streambased.lib nutzen.
Da es aber nur diese beiden Problemkinder gab, habe ich sie aus TriBase herausgenommen.
---------
Fazit :
a) TriBase läßt sich unter dem neuesten DX9-SDK kompilieren, nachdem man Anpassungen bei der Funktion effect:
ass() durchgeführt hat.
b) Besteht man auch auf einem Neukompilieren der streambased.lib, weil man gerade Zeit hat, findet man diese unter dem neuen SDK nicht wieder und man muß deshalb tbVideo und tbMusic aus TriBase herausnehmen.
------------
Damit stehen uns wohl einige Optionen offen.
Zum Schluß noch einmal der Dank an David für sein gelungenes Buch. Ich lerne sehr viel daraus, die Quelltexte sind sauber geschrieben und gut dokumentiert. Vielleicht findet er ja mal Zeit, die TriBase auf die neuen SDK-Gegebenheiten anzupassen.
Bis dahin allen viel Spaß beim Programmieren.
almidi