Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 08.01.2004, 15:35 Titel: DDraw Fehler? Blitting nahe dem oberen Bildschirmrand... |
|
|
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 ).
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 08.01.2004, 15:40 Titel: |
|
|
Monitor richtig einstellen. _________________ "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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 08.01.2004, 16:14 Titel: |
|
|
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 08.01.2004, 16:19 Titel: |
|
|
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 |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 08.01.2004, 16:52 Titel: |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 08.01.2004, 17:05 Titel: |
|
|
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 08.01.2004, 17:15 Titel: |
|
|
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 |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 08.01.2004, 17:19 Titel: |
|
|
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 ). 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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 08.01.2004, 19:02 Titel: |
|
|
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 |
|
|
Zyrian Super JLI'ler
Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
Verfasst am: 08.01.2004, 20:00 Titel: |
|
|
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
Sonst alles bestens, auch im Update.
MFG
Chris _________________ Schau mir in die Augen, Kleines. |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 08.01.2004, 20:00 Titel: |
|
|
^^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... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Zyrian Super JLI'ler
Anmeldedatum: 30.08.2003 Beiträge: 321 Wohnort: Essen Medaillen: Keine
|
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 09.01.2004, 12:40 Titel: |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 09.01.2004, 13:01 Titel: |
|
|
DX 9, Win2k, GeForce 2, Problem ist da. :( _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
|