Zitat von
Totti:
Oder müsste man sich da direkt in die Grafik des Spiels hacken?
Ob "Hacken" der richtige ausdruck dafür ist, ist fraglich, aber wenn du das ganze nicht im Windowed-Mode laufen lassen willst, dann bleibt dir da warscheinlich keine andere möglichkeit.
Wenn's dir nix ausmacht, wenns flimmert, könntest du probieren mit
GDI-Calls in bestimmten Zeitintervallen immer wieder auf das Spiel-Fenster zu zeichnen (Es flimmert, weil du nicht synchron mit dem Spiel zeichnest). Allerdings ist das dann sehr unleserlich, und es sieht gesundheitsschädlich aus
Die alternative dazu wäre,
DirectX-Methoden oder
OpenGL-Methoden zum Zeichnen zu verwenden (kommt draufan was das Spiel verwendet). Dazu sollte man sich aber einigermaßen mit der entsprechenden Graphik-Library auskennen.
Das ist aber noch nicht alles, denn der warscheinlich schwierigste Teil ist, die Ausgabe zu "synchronisieren". Dazu muss man wissen, wann das Spiel ein neues Bild zeichnet, und kurz vorher auf den entsprechenden Backbuffer zeichnen.
Warscheinlich kommt noch ne menge
IPC dazu, da du warscheinlich ein "externes" Programm hast, und so mit einem Modul im Spiel kommunizieren musst.
Nungut, ich hab mir in letzer Zeit eine Library geschrieben, welche dieses Problem für
DirectX 8 "löst", diese ist allerdings relativ kompliziert, und ich hab eigentlich nicht vor, deren Code zu veröffentlichen. Sie ist allerdings so geschrieben, dass ich sie ohne weiteres, mit "halben" quellcode weitergeben könnte (da is dann nur soviel dabei, dass man es "benutzen" kann).
Eine weitere
DirectX-Version zu implementieren (Dx9) wäre kein allzu großes Problem, allerdings hätte ich mit
OpenGL kleine Probleme, da ich davon sogut wie keine ahnung hab ...
Diese Library kann allerdings bisher lediglich Text an einer beliebigen Stelle, in beliebiger Farbe, Größe und Schriftart ausgeben.
Als Anwendungs-Beispiel könnte ich z.B.
Wc3Banlist nennen, denn dieses Programm verwendet diese
DLL bereits.
Theroretisch könnte ich dir auch ne Version davon erstellen, jedoch hab ich in letzter Zeit relativ viel um die Ohren ...
ciao, Philipp