Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ingame mitteilung!? (https://www.delphipraxis.net/61964-ingame-mitteilung.html)

dizzy 29. Jan 2006 14:30

Re: ingame mitteilung!?
 
Meines Wissens nach geht das in der Tat nur sauber, wenn man es wie Fraps macht. Das Problem daran: Fraps "hooked" die gesamte DLL in der der Flipcode für DirectX enthalten ist. Das heisst: Sie haben eine eigene DLL geschrieben und damit die echte ersetzt (zur Laufzeit, also via Injection vermute ich). Diese neue DLL reicht alle Methodenaufrufe an die echte DLL durch, aber führt im Flipcode noch eigene Aktionen aus, womit Fraps also genau an die richtige Stelle gelangt für solche Dinge.
Der Haken wird sein: Diese DLL dürfte gewaltig groß sein, und ich kann mir mehr als gut vorstellen dass nicht alle vorhandenen Methoden von MS dokumentiert sind...

Du hast dir keine leichte Aufgabe vorgenommen ;).

\\edit: Zu dem Thema gibt es bereits einige Threads im Forum

Die Muhkuh 29. Jan 2006 14:39

Re: ingame mitteilung!?
 
Hi,


meinst du sowas wie XFire?

maaalin 29. Jan 2006 15:30

Re: ingame mitteilung!?
 
Zitat:

Zitat von dizzy
Meines Wissens nach geht das in der Tat nur sauber, wenn man es wie Fraps macht. Das Problem daran: Fraps "hooked" die gesamte DLL in der der Flipcode für DirectX enthalten ist. Das heisst: Sie haben eine eigene DLL geschrieben und damit die echte ersetzt (zur Laufzeit, also via Injection vermute ich). Diese neue DLL reicht alle Methodenaufrufe an die echte DLL durch, aber führt im Flipcode noch eigene Aktionen aus, womit Fraps also genau an die richtige Stelle gelangt für solche Dinge.
Der Haken wird sein: Diese DLL dürfte gewaltig groß sein, und ich kann mir mehr als gut vorstellen dass nicht alle vorhandenen Methoden von MS dokumentiert sind...

Du hast dir keine leichte Aufgabe vorgenommen ;).

\\edit: Zu dem Thema gibt es bereits einige Threads im Forum

also wie ich schon gesagt habe,
die grafik hooken :D

ich denke es würde reichen wenn man eine funktion hooked und das sollte glPrint sein.
kann ich aber keine garantie drauf geben.

uall hat auch eine nützliche komponente dafür geschrieben.

dizzy 30. Jan 2006 11:51

Re: ingame mitteilung!?
 
Zitat:

Zitat von maaalin
also wie ich schon gesagt habe,
die grafik hooken :D

ich denke es würde reichen wenn man eine funktion hooked und das sollte glPrint sein.
kann ich aber keine garantie drauf geben.

uall hat auch eine nützliche komponente dafür geschrieben.

Das würde dann bedingen, dass man sich in den Prozess patched. Die Variante mit nem DLL-Wrapper geht dann ja nicht mehr ;). Bei OGL wäre das sogar noch die einfachere Variante, da die DLL wenn ich das richtig gesehen habe teuflisch viel exportiert. Bei DX hat man dann jedoch den Jammer, dass "Present/Flip" nicht wie bei OGL einfach nur eine Funktion ist, sondern Methode einer Klasse. Da kann ich nicht beurteilen ob das so viel ausmacht, aber es klingt für mich zunächst mal schwieriger =)

Ein 2. Problem hat die Patch-Variante noch: Manche Spielehersteller bauen Überwachungsmechanismen ein die u.a. versuchen herauszufinden ob sich da was am Game zu schaffen macht um Cheatern das Leben schwer zu machen. (World of Warcraft z.B. ist da recht rigoros.) Also würde man somit u.U. Gefahr laufen fälschlicherweise als Cheater identifiziert zu werden, was bei entsprechenden Online-Games mitunter zur Kündigung des Zugangs führen kann. Ich will nicht sagen, dass das auf jeden Fall bemerkt und geahndet wird, aber doch zumindest drauf hinweisen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz