Auf Screen von "fremden" Spiel zeichnen?

Für allgemeine Fragen zur Programmierung mit PureBasic.
K.Putt
Beiträge: 122
Registriert: 01.09.2006 00:17

Beitrag von K.Putt »

D@nte hat geschrieben:Der Source von K.Putt ist ja ganz nett aber ist es mit dem auch irgendwie möglich komplexe Zeichenketten direkt auf den Screen zu bringen oder muss man da jeden Buchstaben einzeln mit Pixeln darstellen?!
Hatten wir schon:
TextOut_()
siehe oben :-)

Schaue mal CDC bei der MSDN nach.
D@nte hat geschrieben:Und flimmer frei ist der Source trotzdem nit...
Na ja,
1. Du kannst die Routine für den Colorbot ja rausnehmen
2. bessere Graka oder schnellere CPU
3. Grafikdetails runterschrauben

Flimmerfrei ist auf jeden Fall hinzubekommen, man muss eben Prioritäten setzen.

Ansonsten schau dir OpenGL oder DirectX an, das wird aber komplizierter glaube ich, habe ich noch nie mit programmiert.

Kobra übernehmen Sie :-)


P.S.:
Wenn jemand Lust hat mit mir einen ColorBot zu schreiben,
ich bin gern zu haben, zur Zeit hänge ich an
GetDIBits_() fest.
Ansonsten wäre ein OpenGL Screenshot mit anschliessender Auswertung auch schön, raff ich aber auch nicht, bisher :evil:
PB 5.x & Win 7 64Bit
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

@K.Putt: Ist das ein gemeiner Code... :freak:

1. Du malst in einer Schleife jedes Mal das Crosshair neu. Den Delay(1) hast Du ja auskommentiert, damit sich das Programm alle Ressourcen fressen kann, die irgendwie verfügbar sind. Was sagt Deine Performance dazu (gerade in einem Spiel, dass jedes Mhz benötigt)? Der Hinweis auf die Priorität ist nett, aber sinnfrei.

2. Flimmerfrei bekommst Du das Ganze so nicht hin. Je mehr Du in Deinem Programm malst, desto mehr wird es flimmern. Hintergrund: Das Programm malt praktisch direkt in den Frontbuffer der Anwendung. Bei jedem Tausch von Backbuffer zu Frontbuffer wird Dein tolles Crosshair übermalt (und Du malst in Deiner Schleife einfach neu rein). Da fehlt jegliche Synchronisation.

@Programie: Es kommt darauf an, ob Du ein DirectX-Spiel oder ein OpenGL-Spiel malen willst. Wie schon oben geschrieben: bei einem OpenGL-Spiel ist ein Wrapper mit eigenen Funktionen schnell geschrieben, auch in PureBasic. Bei DirectX ist das etwas schwieriger in PureBasic (wg. des COM-Klassenmodells), da kommst Du in C++ wahrscheinlich schneller zu Ergebnissen (und es gibt für DirectX9 auch schon ein Wrapper-Template in C++, wie ich gesehen hab). Hier eine Seite, in der ein DirectX-Hook inkl. Quellcode für C++ zu finden ist.
K.Putt
Beiträge: 122
Registriert: 01.09.2006 00:17

Beitrag von K.Putt »

real hat geschrieben:@K.Putt: Ist das ein gemeiner Code... :freak:
Dafür dass es unmöglich ist finde ich den Code verdammt gut.

:twisted:
PB 5.x & Win 7 64Bit
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

K.Putt hat geschrieben:
real hat geschrieben:@K.Putt: Ist das ein gemeiner Code... :freak:
Dafür dass es unmöglich ist finde ich den Code verdammt gut.

:twisted:
Der Code auf keinen Fall verdammt gut. Auch nicht gut. Er ist einfach am Ziel vorbeigeschossen.
K.Putt
Beiträge: 122
Registriert: 01.09.2006 00:17

Beitrag von K.Putt »

Konne hat geschrieben:
K.Putt hat geschrieben:
real hat geschrieben:@K.Putt: Ist das ein gemeiner Code... :freak:
Dafür dass es unmöglich ist finde ich den Code verdammt gut.

:twisted:
Der Code auf keinen Fall verdammt gut. Auch nicht gut. Er ist einfach am Ziel vorbeigeschossen.
Vorher ist es unmöglich, hinterher nicht gut genug, ich verstehe schon :twisted:
Ihr gebt echt ganz schon trübe Tassen ab Jungs.
:allright:
PB 5.x & Win 7 64Bit
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ich glaube das nennt man "Perlen vor die Säue werfen"! Bild
Zuletzt geändert von Fluid Byte am 31.05.2007 21:36, insgesamt 1-mal geändert.
Windows 10 Pro, 64-Bit / Outtakes | Derek
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

:allright:

@K.Putt: Weil Du so gut auf meine Posts eingehst und statt gutem Code tollen Sarkasmus bietest will ich mal ein Zitat von Dir bringen:
funktioniert aber flimmerfrei
ist leider einfach falsch.
:D

In einem anderen Thread hier wird übrigens auf die Möglichkeit eingegangen, per Overlay über eine 3D-Anwendung zu malen.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

K.Putt hat geschrieben: Vorher ist es unmöglich, hinterher nicht gut genug, ich verstehe schon :twisted:
Ihr gebt echt ganz schon trübe Tassen ab Jungs.
:allright:
Wer hat eigentlich behauptet das es unmöglich ist? Es wurden schließlich andere Techniken wie Overlay und Direct3D/OpenGL-Hook angesprochen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

Gibt es für das DirectX-Overlay auch Dll´s oder PureBasic-Libs?

PS: Hab hir mit Google was gefunden: Overlaying text onto screen of directx game?
BildBildBildBild
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

Schau bitte in den von mir oben verlinkten Post oder schau direkt in die Rubrik "Grafik & Sound - Programmierung", dort ist auch Purebasic-Code gepostet. Ich halte es für sinnlos, alles doppelt zu posten.
Antworten