Announcement

Collapse
No announcement yet.

QRack: Couldn't set fullscreen DIB mode

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • R00k
    replied
    Originally posted by Piitaq87 View Post
    Hi, i have the same problem, just with GL JoeQuake,
    and the answers in here, *other one says something, another says something completely diffrent*, its confusing, im a newb and i wish there were a simple
    step-by-step solution. In the beginning, the game started well, played for a couple of days, then the error began to pop up, idk y.. & its on windows vista :d . On a laptop.
    Either way, NOW I CANT PLAY IT ANYMORE, ERROR "COULND'T SET FULLSCREEN DIB MODE" KEEPS APPEARING! =)
    if all else fails try -current in the command line.

    Leave a comment:


  • metchsteekle
    replied
    lol i think its a labtop thing cos i had the same for almost every client BUT qrack

    you have to make a short cut on desktop and make hight and with specifications in the commnd line thing

    like mine but with your screen size/settings:

    C:\Users\alex\Desktop\quake\mhglqr8.exe -window -height 750 -width 1280

    Leave a comment:


  • Piitaq87
    replied
    Originally posted by Finn View Post
    Having a problem w/ Qrack, it says when i try to run it...
    Quake Error: Couldn't set fullscreen DIB mode.

    I usually use WQPro, and Joequake runs just fine. Any ideas?


    Hi, i have the same problem, just with GL JoeQuake,
    and the answers in here, *other one says something, another says something completely diffrent*, its confusing, im a newb and i wish there were a simple
    step-by-step solution. In the beginning, the game started well, played for a couple of days, then the error began to pop up, idk y.. & its on windows vista :d . On a laptop.
    Either way, NOW I CANT PLAY IT ANYMORE, ERROR "COULND'T SET FULLSCREEN DIB MODE" KEEPS APPEARING! =)

    Leave a comment:


  • Baker
    replied
    Originally posted by R00k View Post
    Correct, Baker ill have to shoot u my vid_wgl.c file. It ignores all cvar defaults and uses the "current" desktop settings instead.

    The reason that it's resetting the vid twice is; once at default (even if the refresh isnt current), then secondly to make everything sync to the cfg/commandline/desktop.

    This new method checks
    1.> is width same as current
    and/or
    2.> is height same as current
    and
    3.> bpp same as current?
    and
    4.> refreshrate same as current?
    if not then shut down the video, and restart.

    the problem was i forgot to check for refreshrate on startup, so the
    current Hz was ALWAYS not equal to "default" cvar value of 59. Thus, it was resetting the video again at startup even if the settings were in the command line or the .cfg And some cards didnt like base rate of 59hz thus the DIB errors.

    So basically if i set, -width 640 - height 480 and nothing else in my commandline then, it will set the refreshrate and the bpp equal to the desktop values, or if those are out of limits it scans the mode array for the best values
    Interesting stuff!

    So Qrack loads like lightning because it isn't actually changing the resolution, I assume. Nice trick.

    With that blazing fast load speed, I'm almost tempted to make that method the default in ProQuake, hehehe. I can't believe how fast it loads.

    The first time I started Qrack 1.85 I was like "Hmmm ... that seemed fast. Was I paying attention or distracted? I better start it again and watch." ... and then a few seconds later ... "OMG! It did load that fast!"

    Leave a comment:


  • R00k
    replied
    Originally posted by Baker View Post
    ProQuake initializes twice because it is using the FitzQuake style startup routine. It is doing the ProQuake default resolution of 640 x 480 and then reading the config and changing the video mode (a 2nd video initialization).
    Correct, Baker ill have to shoot u my vid_wgl.c file. It ignores all cvar defaults and uses the "current" desktop settings instead.

    The reason that it's resetting the vid twice is; once at default (even if the refresh isnt current), then secondly to make everything sync to the cfg/commandline/desktop.

    This new method checks
    1.> is width same as current
    and/or
    2.> is height same as current
    and
    3.> bpp same as current?
    and
    4.> refreshrate same as current?
    if not then shut down the video, and restart.

    the problem was i forgot to check for refreshrate on startup, so the
    current Hz was ALWAYS not equal to "default" cvar value of 59. Thus, it was resetting the video again at startup even if the settings were in the command line or the .cfg And some cards didnt like base rate of 59hz thus the DIB errors.

    So basically if i set, -width 640 - height 480 and nothing else in my commandline then, it will set the refreshrate and the bpp equal to the desktop values, or if those are out of limits it scans the mode array for the best values
    Last edited by R00k; 02-19-2008, 09:02 PM.

    Leave a comment:


  • QuadRaptor
    replied
    Yeah Jackhammer was right about rebooting the computer. I originally still couldn't get it to work with the command line correct, but now I have it working.

    I ended up having the old version of Qrack, so it'll take a bit to get used to the new setup, but I think I've officially switched to Qrack from DP as my primary client.

    Leave a comment:


  • Baker
    replied
    ProQuake initializes twice because it is using the FitzQuake style startup routine. It is doing the ProQuake default resolution of 640 x 480 and then reading the config and changing the video mode (a 2nd video initialization).

    Rook apparently is using a vastly superior method that reads the settings before video initialization. (It's probably reading the config earlier and then executing it later ... my guess).

    I think if I were to change the default video mode in ProQuake, it would look through the list and find the fastest resolution that matches the aspect ratio for higher FPS.

    For example, on a 4:3 display like both my CRTs, I think 640 x 480 is the ideal instead of 1280x960 because the FPS is much higher. On my widescreen laptop, I'd have it use 640x400 instead of whatever the super high res default is.

    I've noticed that performance is significantly degraded by those multi-megapixel wide screen resolutions. I get about 60 FPS on my laptop with 1440 x 900, but get 200 FPS with a more reasonable resolution.

    Leave a comment:


  • =peg=
    replied
    well i meant that proquake just grabs your desktop settings and uses that by default (unless specified otherwise in config.cfg or commandline) so it does not need to initialize twice.. => starts up faster

    Leave a comment:


  • Baker
    replied
    Originally posted by =peg= View Post
    hmm nice.. proquake needs that too
    Explain a little more so I understand what you mean.

    And Qrack starts up much faster now
    That's blazing fast. I was shocked.

    I'm jealous!!! Seriously!!!

    I need your source code.

    Leave a comment:


  • =peg=
    replied
    hmm nice.. proquake needs that too

    Leave a comment:


  • R00k
    replied
    Okay, better yet...

    for (i=1, vid_default=0 ; i<nummodes ; i++)
    {
    if ((modelist[i].width == width) && (modelist[i].bpp == bpp) && (modelist[i].refreshrate == refreshrate))
    {
    vid_default = i;
    done = 1;
    break;
    }
    }
    I had to check the refreshrate for each mode.

    You probably noticed even if u used -refreshrate in the commandline it would startup using 640x480 @59hz... now instead it will set the mode+refreshrate properly and no more double "VID_SetMode" ....

    EDIT:
    Okay this works perfectly for me on both my lcd and CRT, if not specified -width/-height etc it grabs the settings from the desktop. And Qrack starts up much faster now will post an updated version tonight.
    Last edited by R00k; 02-19-2008, 03:07 PM.

    Leave a comment:


  • R00k
    replied
    hmm i thought it was fixed.
    hdc = GetDC(NULL);
    modelist[MODE_FULLSCREEN_DEFAULT].refreshrate = GetDeviceCaps(hdc,VREFRESH);
    modelist[MODE_FULLSCREEN_DEFAULT].bpp = GetDeviceCaps(hdc, BITSPIXEL);
    ReleaseDC(NULL, hdc);
    This should set startup settings to desktop unless its changed in the cfg.... hmm :S

    Leave a comment:


  • Baker
    replied
    I'll post the fix in the Qrack thread this evening plus a few other goodies for Rook.

    It is easily fixed in the engine by removing 3 lines of code.

    Leave a comment:


  • QuadRaptor
    replied
    I was just about to make a new post about this but I see it's already been taken care of. I'll do what you guys suggested to fix this problem.

    Leave a comment:


  • Baker
    replied
    Bumped this thread for Frenzy

    Leave a comment:

Working...
X