DirectX Overlay mit PB programmieren
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Das Problem ist dass man keinen Screen öffnen kann wenn das Spiel (in meinem Fall Day of Defeat: Source / DX9) im Vordergrund ist. OpenWindowedScreen () gibt dann null zurück. Der Screen muss geöffnet werden wenn man sich auf dem Desktop befindet.
Windows 10 Pro, 64-Bit / Outtakes | Derek
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Ja, des geht tatsächlich. Man muss vor dem Öffnen des Screens die Desktopauflösung ändern und dann ein Delay() von mindestens 2000 Ms einfügen.Andreas21 hat geschrieben:Und was währ wenn man beim starten des Overlays den desktop an die auflösung des Spieles anpast und nach der erstellung wieder zurück setzt?
Code: Alles auswählen
; Change desktop resolution to game resolution
Define lpdm.DEVMODE\dmSize = SizeOf(DEVMODE)
lpdm\dmFields = #DM_BITSPERPEL | #DM_PELSWIDTH | #DM_PELSHEIGHT
lpdm\dmBitsPerPel = 32
lpdm\dmPelsWidth = 1600
lpdm\dmPelsHeight = 900
ChangeDisplaySettings_(lpdm,0)
Delay(2000)
Das nächste Problem wäre dann wie man den Inhalt des Overlays aktualisiert. Nach dem es erstellt wurde kann man nicht einfach auf das Sprite zeichnen. Man müsste das Sprite/Overlay löschen, neues Sprite erstellen, zeichnen und wieder Overlay erstellen. Ich glaube aber es geht vielleicht auch direkt per DD auf das Overlay zu zeichnen ohne alles zu löschen/neu erstellen zu müssen ist dann aber etwas "anspruchsvoller".
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Damit kann man ermitteln wann die Auflösung erfolgreich geändert wurde? Wage ich zu bezweifeln ...Kaeru Gaman hat geschrieben:man kann doch die aktuelle auflösung prüfen... sogar mit nativen PB mitteln...
Ich meine sowas wie GetGadgetAttribute() in Verbindung #PB_Web_Busy. Also das man irgendwie einen booleschen Wert auslesen kann der angibt wenn das Ändern der Auflösung erfolgreich abgeschlossen wurde.
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Was zum .....
Sagt der der um 2:43 postet? Kommst du klar? Was soll diese unfreundliche, ausweichende Antwort? Ich habe lediglich um Beispielcode gebeten den du offenbar nicht im Stande bist zu liefern. Wenn zu dem Thema nichts beitragen kannst dann halt dich raus!

Sagt der der um 2:43 postet? Kommst du klar? Was soll diese unfreundliche, ausweichende Antwort? Ich habe lediglich um Beispielcode gebeten den du offenbar nicht im Stande bist zu liefern. Wenn zu dem Thema nichts beitragen kannst dann halt dich raus!

Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
weil du kurz vorher in einem anderen thread eine blöde bemerkung zu etwas fleißig umgebrochenem postingtext abgelassen hast.
und dann fragst du mit einem einzigen wort = wortkarg nach einem beispiel für etwas,
was 1. integriert werden müßte und 2. dir doch tausend mal geläufig sein sollte.
und das, ganz richtig, nach zweie nachts, wo ich mich wohl kaum noch hinsetze und nen beispielcode häcke,
den du selber erdenken können solltest, wenn ich deine fähigkeiten nicht grottentief überschätze.
meine schlußfolgerung war, du bist entweder zu müde oder zu duhn oder beides.
daher mein meiner ansicht nach angemessener rat, erstmal ins bett zu gehen.
war das jetzt nachvollziehbar?
und dann fragst du mit einem einzigen wort = wortkarg nach einem beispiel für etwas,
was 1. integriert werden müßte und 2. dir doch tausend mal geläufig sein sollte.
und das, ganz richtig, nach zweie nachts, wo ich mich wohl kaum noch hinsetze und nen beispielcode häcke,
den du selber erdenken können solltest, wenn ich deine fähigkeiten nicht grottentief überschätze.
meine schlußfolgerung war, du bist entweder zu müde oder zu duhn oder beides.
daher mein meiner ansicht nach angemessener rat, erstmal ins bett zu gehen.
war das jetzt nachvollziehbar?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.