Ticket #8946: gc-noninterlaved-fix.diff

File gc-noninterlaved-fix.diff, 665 bytes (added by hkzlab, 15 years ago)

GC/Wii Patch to fix squashing on non interlaved resolutions

  • osystem_gfx.cpp

    old new  
    142142        printf("setGraphicsMode %d\n", mode);
    143143
    144144        xar = vmode->viWidth / 2;
    145         yar = vmode->xfbHeight / 2;
     145
     146        // If screen mode is not interlaced, vertical resolution would be
     147        // less than 480 lines (240 or 262), and xfbHeight/2 would squash
     148        // the screen because of wrong aspect ratio.
     149        if(vmode->xfbHeight < 480) {
     150                yar = vmode->xfbHeight;
     151        }
     152        else {
     153                yar = vmode->xfbHeight / 2;
     154        }       
    146155
    147156#ifndef GAMECUBE
    148157        if (CONF_GetAspectRatio() && !_fullscreen)