JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=89fd6af3e69c1ae374d7d1173a0ef6ebMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

DDraw Fehler? Blitting nahe dem oberen Bildschirmrand...
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 15:35    Titel: DDraw Fehler? Blitting nahe dem oberen Bildschirmrand... Antworten mit Zitat

Hi!

Der Fehler verfolgt mich schon lange, ich hab ihn bisher ignoriert, aber ich hab gedacht jetzt kümmer ich mich drum:

Es hat bei meinem Programm am oberen Bildschirmrand eine Grenze, ueber die ich nicht blitten kann. Das sieht ungefähr so aus:

- Ich zeichne mein Hintergrundbild, das sieht man auf dem gesamten Bildschirm.

- Ich will irgendwelche anderen Surfaces nahe den oberen Rand blitten

- Von diesen Surfaces wird dann einfach der Teil, der über den Rand geht, weggelassen, man kann sie sogar ganz verstecken (je nach größe)

- Beweg ich die Surface wieder Tiefe, erscheint wieder mehr von ihr.

Bei meinem Bildschirm ist der Rand so um die 60-80 Pixel breit, bei dem von meinem Bruder ist er 20-30 Pixel breit ( alles schätzungswerte Wink ).

Es tritt überhaupt kein Fehler auf, d.h. Blt() gibt den Wert "DD_OK" zurück.

Das Hintergrundbild sieht man überall.

Ich lasse das alles in Fullscreen, 1024x768 mit 16 bpp laufen.

Links, Rechts und Unten hab ich solche Probleme nicht.

Kann mir jemand helfen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 08.01.2004, 15:40    Titel: Antworten mit Zitat

Monitor richtig einstellen. Wink
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 16:14    Titel: Antworten mit Zitat

Stell das Prog mal online, damit wir das nachvollziehen können. Ansonsten würde ich sagen du clipst falsch.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 08.01.2004, 16:19    Titel: Antworten mit Zitat

Das kann ja im Grunde nur ein Clippingfehler sein.
Der Code dafür könnte wirklich sehr hilfreich sein.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 16:52    Titel: Antworten mit Zitat

Hi!
Also ich hab keinen DDraw Clipper erstellt, und selber clippen tu ich zwar, aber nicht an der grenze. Code an welcher stelle willste haben? Ich hab das Programm mal online gestellt: http://simonator.webspace4free.biz/index.html

Zu dem Programm:

Ihr könnt mit verschiedenen Settings rumspielen (data\cfg) Wenn ihr aber die Auflösung ändert (Grafik.cfg) dann solltet ihr vieleicht auch die Größe der Hintergrundsurface anpassen.

Den Sprite (1,2,3,4) könnt ihr per Tastatur-Pfeile verschieben, man kann ihn rechts und links und unten rausschieben. Versucht mal, wie weit ihr oben rankommt.

Wenn ein Fehler auftritt zieht die Logdatei: data\log\Loremster.txt zu rate.

Ich freue mich auf weitere Antworten!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 17:05    Titel: Antworten mit Zitat

Jupp der Fehler tritt bei mir auch auf. Zeig doch mal wie du das Clipping anstellst... ich denke es kann nur daran liegen.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 08.01.2004, 17:15    Titel: Antworten mit Zitat

Könnte es sein das der Fehler nur da auftritt wo die Titelleiste ist ? Bei mir hat da oben ab und zu sowas in der art aufgeflackert.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 17:19    Titel: Antworten mit Zitat

Also ich hab da so ein RECT Objekt, in meiner Spielklasse. Die Werte in diesem Rect sind korrekt, d.h. : 0, 0, 1024, 768 (ich glaub ich muss nich erklärn was wo reinkommt Wink ). Wenn ich nun z.B. ne Surface render, dann pass ich, vor dem Blt(), das Zielrect notfalls an, sodass nur der Teil gerendert wird, der auch sichtbar ist (sonst würde DDraw nen fehler ausspucken).

Hier mal der Code:
Code:

   // Ziel Rect ermitteln:
   l_rcZiel.left   = pSurface->x;
   l_rcZiel.top   = pSurface->y;
   l_rcZiel.right   = pSurface->x + pSurface->m_iBreite;
   l_rcZiel.bottom   = pSurface->y + pSurface->m_iHoehe;

   // Ziel Rect auf Korrektheit pruefen:
   if( 0 > (g_rcScreen.bottom-l_rcZiel.bottom) )
   { // Geht unten aus dem Bildschirm raus:

      l_rcQuell.bottom+= (g_rcScreen.bottom-l_rcZiel.bottom);
      l_rcZiel.bottom += (g_rcScreen.bottom-l_rcZiel.bottom);
   }
   if( 0 > (l_rcZiel.top-g_rcScreen.top) )
   {
      l_rcQuell.top -= (l_rcZiel.top-g_rcScreen.top);
      l_rcZiel.top -= (l_rcZiel.top-g_rcScreen.top);
   }
   if( 0 > (g_rcScreen.right-l_rcZiel.right) )
   { // Geht rechts aus dem Bildschirm raus:

      l_rcQuell.right += (g_rcScreen.right-l_rcZiel.right);
      l_rcZiel.right += (g_rcScreen.right-l_rcZiel.right);
   }
   if( 0 > (l_rcZiel.left-g_rcScreen.left) )
   {
      l_rcQuell.left -= (l_rcZiel.left-g_rcScreen.left);
      l_rcZiel.left -= (l_rcZiel.left-g_rcScreen.left);
   }


Das ist eigentlich der relevante Part. g_rcScreen ist das globale RECT Objekt, welches den Blittbereich angibt, die werte sind korrekt. Übrigens wird auch das hintergrundbild auf diese Weise angepasst, daher kann ich mir nicht vorstellen, dass es daran liegt.

PS: Hab grad deine Antwort gelesen, welche Window-Styles muss ich nochmal angeben, damit die wegkommt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 18:42    Titel: Antworten mit Zitat

WS_POPUP
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 19:02    Titel: Antworten mit Zitat

Ok, ich hab da jetzt mal den Flag geändert, sonst nichts. Hat sich ein wenig gebessert... jetzt flimmert es in dem Bereich wenigstens ein bissl.
Das Update (die neue exe) findet sich gezippt wieder unter:
http://www.simonator.webspace4free.biz/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 20:00    Titel: Antworten mit Zitat

Hm ich weiß net was ihr habt.
Bei mir flackert das Sprite kein bisschen. Oben verschwindet es nur kurz, wenn es auf dem roten Hintergrund ist und grad die 1 angezeigt wird Wink

Sonst alles bestens, auch im Update.

MFG
Chris
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 20:00    Titel: Antworten mit Zitat

^^ist da das Problem schon ganz behoben oder was?

Ich sehe da überhaupt kein Fehler...bei beiden Versionen nicht, außer das dieser "Lade-Mauscursor" etwas nervt... Rolling Eyes
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 08.01.2004, 20:00    Titel: Antworten mit Zitat

DAS nenn ich mal Synchronposting ^^
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 09.01.2004, 12:40    Titel: Antworten mit Zitat

Bei euch funktionierts?

Also das Problem ist noch nicht behoben, nein, ich habs immer noch.

Könnt ihr mir mal nähere Daten über eure Rechner geben?

DX Version
OS
Graka
Treiber?

Also ich hab mit

DX 9, WinME, Geforce2 das Problem und mein Bruder hat es mit
DX 9, WinXP, Geforce2 das selbe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 09.01.2004, 13:01    Titel: Antworten mit Zitat

DX 9, Win2k, GeForce 2, Problem ist da. :(
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum